Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

La política del mismo origen explicada para defensores

5 tareas · 40 min · Principiante

El navegador tiene abiertas a la vez páginas de muchas empresas, y la regla que impide que una lea lo que otra recibe se llama política del mismo origen. Casi todas las defensas del navegador se apoyan en ella, y muchos informes fallan por confundir origen con dominio o con sitio. En esta sala se leen las direcciones que aparecieron en la sesión de prueba de Discos Almagre y la consola del navegador de esa sesión, y se decide qué es mismo origen, qué es mismo sitio y qué dejó leer el navegador. No se envía ninguna petición.

0 de 5 · 0%

Objetivo de la sala

El navegador tiene abiertas a la vez páginas de muchas empresas, y la regla que impide que una lea lo que otra recibe se llama política del mismo origen. Casi todas las defensas del navegador se apoyan en ella, y muchos informes fallan por confundir origen con dominio o con sitio. En esta sala se leen las direcciones que aparecieron en la sesión de prueba de Discos Almagre y la consola del navegador de esa sesión, y se decide qué es mismo origen, qué es mismo sitio y qué dejó leer el navegador. No se envía ninguna petición.

Para el navegador, el origen de una página son tres cosas juntas: el esquema (https o http), el host completo y el puerto. Si falta el puerto en la URL, se usa el de su esquema: 443 para https y 80 para http. Dos direcciones son del mismo origen solo si coinciden las tres partes; la ruta, la cadena de consulta y el fragmento no cuentan.

Por eso https://web.example y http://web.example son orígenes distintos (cambia el esquema), igual que https://web.example y https://api.web.example (cambia el host) o https://web.example:8443 (cambia el puerto). Un subdominio de la misma empresa es, para esta regla, tan ajeno como el sitio de otra.

Responde para continuar

¿Qué partes de una URL forman su origen?

Ver pista de ayuda

La ruta nunca forma parte del origen.

Abre urls-de-la-sesion.txt. La página de referencia es O1, la tienda. Compara cada URL con ella parte por parte: esquema, host y puerto, sin olvidar el puerto por defecto cuando no está escrito.

Responde para continuar

¿Qué URL de la lista, distinta de O1, tiene exactamente su mismo origen? Escribe su identificador.

Ver pista de ayuda

Hay una que escribe un puerto. Pregúntate si ese puerto es el mismo que O1 usa sin escribirlo.

El sitio es una idea más amplia que el origen: el esquema más el dominio registrable, es decir, el nombre que la empresa registró, sin subdominios y sin mirar el puerto. api.discos-almagre.example y tienda.discos-almagre.example son del mismo sitio aunque sean orígenes distintos. Algunas defensas del navegador trabajan por sitio y no por origen (el atributo SameSite de las cookies, por ejemplo), y por eso un fallo en un subdominio olvidado puede afectar a los demás del mismo sitio.

Usa la nota al pie de urls-de-la-sesion.txt. Cuenta solo las URL con https, sin contar O1.

Responde para continuar

Entre las URL con https, ¿cuántas son del mismo sitio que O1 pero de distinto origen? Escribe solo el número.

Ver pista de ayuda

Descarta primero la del mismo origen y la que pertenece a otra empresa.

La política del mismo origen no impide que una página envíe peticiones a otros orígenes: puede cargar scripts, imágenes y hojas de estilo de cualquier parte y enviar formularios a cualquier dirección. Lo que impide es que el código de la página lea la respuesta de otro origen, salvo que ese otro origen lo autorice expresamente (eso es CORS, que la ruta trata en el módulo de cabeceras). La petición llega al servidor, el servidor la procesa y responde; el navegador solo esconde la respuesta.

Para un defensor la consecuencia es directa: la política del mismo origen protege la confidencialidad de las respuestas, no al servidor de recibir acciones que alguien no quiso hacer. Esa protección la pone el servidor.

Responde para continuar

Una página de otro sitio envía un formulario a la tienda de Almagre. ¿Qué hace la política del mismo origen?

Ver pista de ayuda

Fíjate en la última línea de consola-tienda.txt: el envío salió y tuvo respuesta.

Abre consola-tienda.txt. Cada línea dice qué intentó la página de la tienda, qué respondió el servidor y qué hizo el navegador con esa respuesta. Fíjate en que el servidor respondió 200 también en la línea bloqueada: la petición llegó y se atendió, solo que la página no pudo leer el resultado.

Responde para continuar

¿De qué origen es la respuesta que el navegador recibió pero no dejó leer a la tienda? Escríbelo con esquema, host y puerto, sin ruta.

Ver pista de ayuda

Es el mismo host de la tienda, pero no el mismo origen.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad