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:
Wikipedia - Same Origin Policy
Regards,
Snifer