Hacking 101 - Política del mismo origen (Same Origin Policy) SOP

2 comments
Otra entrada dedicada a la sección de hacking 101 ahora veremos que es el SOP o Same Origin Policy y en castellano Política del Mismo Origen la cual es una regla de seguridad que se encuentra implementada en todos los navegadores actuales cuyo final es el impedir que un script de un sitio externo acceda al DOM, datos y cookie con el fin de que desde un sitio externo no se haga uso de las cookies y datos que se tengan activas lo cual podría darse en sistemas financieros, correos, pagos y demás.


Viendo ello o tratando de comprender, se resume en que el navegador restringe completamente la interacción entre diferentes páginas o aplicaciones, evitando que llame a un origen distinto. Siendo este referente podemos indicar como un dominio diferente lo que nos dice la teoría de origen distinto, como también si estamos en el sitio www.sniferl4bs.com y cambiamos a https://www.sniferl4bs.com ya que el puerto del recurso cambia, un ejemplo claro de ello se tiene en esta tabla de Wikipedia.


URLResultado Explicación
http://www.example.com/dir/page2.html OK Mismo protocolo y servidor
http://www.example.com/dir2/other.html OK Mismo protocolo y servidor
http://username:password@www.example.com/dir2/other.html OK Mismo protocolo y servidor
http://www.example.com:81/dir/other.html NO Mismo protocolo y servidor pero diferente puerto
https://www.example.com/dir/other.html NO Diferente protocolo
http://en.example.com/dir/other.html NO Diferente servidor
http://example.com/dir/other.html NO Diferente servidor
http://v2.www.example.com/dir/other.html NO Diferente servidor
http://www.example.com:80/dir/other.html DENEGAR Puerto por defecto indicado. Depende de la implementación del navegador

Vale aclarar que no todas las peticiones o solicitudes Cross Site están prohibidas se tienen las siguientes solo por mencionar algunas ya que tenemos mas tags permisibles.
  • Código JavaScript
  • CSS
  • Imágenes y ficheros multimedia.
Pero aquí viene la gran pregunta y sabemos que actualmente todas las aplicaciones actuales piden recursos, ya que se cargan imágenes videos y contenidos sin tratas de ocasionar alguna daño o alterar resultados, y porque están permitidas algunas?. Lo que se encuentra bloqueado específicamente son las peticiones dinámicas desde un script es decir (AJAX XMLHttpRequest) por la interacción entre diferentes páginas.

No se si me explique debidamente, o si existe algun tema que no lo haya tomado como se debe espero sus comentarios  saben que trato de hacer estas entradas para comprender terminos y referencias de este mundo que nos apasiona.

Referencias:


Regards,
Snifer

2 comentarios

  1. Gracias Snifer por tus entradas como siempre útiles, has utilizado csp-auditor de GoSecure para auditar la SOP en un sitio web? yo aun no he instalado esa extension https://github.com/GoSecure/csp-auditor , ojala y puedas crear una entrada relacionada a futuro sobre si es util o no y como utilizarla.

    Saludos

    ResponderEliminar
    Respuestas
    1. Hola Marlon, te comento que no, no tuve la oportunidad ni tampoco lo conocia la vere y la pongo en el backlog de entradas del blog y cuando lo tenga listo tenlo por seguro que compartire el material respectivo con un análisis desde mi punto de vista.

      Regards,
      Snifer

      Eliminar