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.
URL | Resultado | 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
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.
ResponderEliminarSaludos
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.
EliminarRegards,
Snifer