Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

La política de contenido (CSP)

5 tareas · 45 min · Principiante

La política de seguridad de contenido (CSP) es una cabecera con la que el servidor le dice al navegador de dónde puede cargar scripts, imágenes, estilos y marcos. Es la segunda capa contra el XSS: no arregla la salida sin codificar, pero limita lo que un script inyectado alcanza a hacer. Bien escrita ayuda mucho; con una sola palabra mal puesta casi no protege. En esta sala se leen la política vigente de la tienda de Panadería Quebradillo, otra que el equipo está probando sin bloquear nada y el informe del colector. No se ejecuta nada.

0 de 5 · 0%

Objetivo de la sala

La política de seguridad de contenido (CSP) es una cabecera con la que el servidor le dice al navegador de dónde puede cargar scripts, imágenes, estilos y marcos. Es la segunda capa contra el XSS: no arregla la salida sin codificar, pero limita lo que un script inyectado alcanza a hacer. Bien escrita ayuda mucho; con una sola palabra mal puesta casi no protege. En esta sala se leen la política vigente de la tienda de Panadería Quebradillo, otra que el equipo está probando sin bloquear nada y el informe del colector. No se ejecuta nada.

Una CSP es una lista de directivas, cada una sobre un tipo de recurso: default-src es el valor por defecto para todos, script-src manda sobre los scripts, style-src sobre los estilos, frame-ancestors sobre quién puede incrustar la página. Cada directiva lleva una lista de orígenes permitidos; 'self' es el propio sitio. Lo que no encaja con la lista, el navegador no lo carga ni lo ejecuta.

Su límite hay que decirlo con claridad: la CSP no repara un XSS, lo contiene. Si la aplicación imprime la entrada del usuario sin codificarla, el fallo sigue ahí y se corrige en el código; la CSP es la red que reduce el daño si algo se escapa. Por eso en el informe se recomiendan las dos cosas, en ese orden.

Responde para continuar

Alguien propone cerrar un XSS reflejado solo con una CSP estricta y dejar el código como está. ¿Qué se responde?

Ver pista de ayuda

La CSP limita lo que se ejecuta, pero no cambia el código que imprime la entrada.

Una política se lee directiva por directiva, buscando comodines. Un asterisco permite cargar desde cualquier origen del tipo que gobierna. En imágenes suele ser un descuido de poco impacto; en scripts sería grave. Aun así, el auditor lo anota y lo pesa, no lo ignora: una política con comodines que nadie decidió es señal de que nadie la revisó.

Abre respuesta-tienda.http y lee la política vigente.

Responde para continuar

¿Qué directiva de la política vigente de la tienda permite cargar imágenes desde cualquier origen? Escribe su nombre.

Ver pista de ayuda

Busca el asterisco solo, sin dominio, y lee el nombre de la directiva a la que acompaña.

La directiva más importante contra el XSS es script-src, y dentro de ella hay una palabra clave que casi la desactiva: 'unsafe-inline', que permite los scripts escritos dentro de la propia página. Es justamente lo que un XSS inyecta, así que con esa palabra la política deja pasar el ataque que debía frenar. La alternativa es autorizar cada script legítimo con un nonce (un valor distinto en cada respuesta) o con una huella, y dejar fuera lo demás.

El comodín de las imágenes es un hallazgo menor; esta palabra, en los scripts, es el hallazgo que decide si la CSP sirve para algo.

Responde para continuar

En la política vigente, ¿cuál es el hallazgo de más peso para el XSS?

Ver pista de ayuda

Pregúntate qué parte de la política decide si un script inyectado se ejecuta.

Endurecer una CSP de golpe rompe páginas: cualquier script o estilo que nadie recordaba aparece bloqueado. Por eso existe una variante de la cabecera que no bloquea, solo informa: el navegador evalúa la política, deja que todo cargue y manda un informe de cada violación a un colector. El equipo la usa durante una o dos semanas para ver qué rompería, y cuando el informe se calma, la pasa a la versión que bloquea.

Abre informes-csp.txt. Cada fila es una violación agrupada por directiva y recurso, con su conteo de la semana. Una de ellas viene de un host externo con más bloqueos que las demás.

Responde para continuar

En informes-csp.txt, ¿qué host externo acumula más violaciones? Escribe su nombre, sin https.

Ver pista de ayuda

Ignora la fila del guion dentro de la página, que no es un host. Compara los conteos de las demás.

Que una política esté en prueba o en vigor depende solo del nombre de la cabecera, y es un error frecuente creer que una está en vigor cuando es la que solo informa. El auditor lo comprueba: una política que solo informa no bloquea nada, y no cuenta como defensa hasta que se promueva.

Abre politica-en-prueba.http y lee el nombre exacto de la cabecera.

Responde para continuar

¿Qué nombre de cabecera usa politica-en-prueba.http para evaluar la política sin bloquear nada? Escríbelo completo.

Ver pista de ayuda

Empieza igual que la cabecera vigente, pero con un sufijo que indica que solo informa.

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