Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

XSS y el navegador

4 tareas · 20 min · Principiante

El XSS pasa cuando una aplicacion devuelve al navegador una entrada del usuario sin codificarla, y el navegador, que no sabe que es dato, la trata como marcado y la ejecuta. El auditor lo encuentra en dos sitios: en el codigo que imprime la entrada y en la respuesta guardada donde se ve el reflejo. En Boletia el buscador devuelve el parametro sin tocar. Se localiza, se clasifica y se arregla; no se escribe ningun codigo de ataque.

0 de 4 · 0%

Objetivo de la sala

El XSS pasa cuando una aplicacion devuelve al navegador una entrada del usuario sin codificarla, y el navegador, que no sabe que es dato, la trata como marcado y la ejecuta. El auditor lo encuentra en dos sitios: en el codigo que imprime la entrada y en la respuesta guardada donde se ve el reflejo. En Boletia el buscador devuelve el parametro sin tocar. Se localiza, se clasifica y se arregla; no se escribe ningun codigo de ataque.

El fallo de XSS se ve en el punto donde la aplicacion pinta en la pagina algo que vino del usuario. En buscar.php de Boletia la entrada $_GET['q'] se concatena dentro de un echo que arma HTML, sin pasar por ninguna funcion que la convierta en texto inofensivo. El navegador recibe lo que el usuario escribio como si fuera parte del documento. El auditor reconoce el fallo por eso: salida sin codificar, no por probar un payload.

Abre el archivo y fijate en que le pasa a $q entre que entra y que se imprime: nada.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

En buscar.php, por que hay XSS?

Ver pista de ayuda

Mira si q pasa por alguna funcion antes del echo.

Un auditor sostiene el hallazgo con evidencia, no con una corazonada. En la carpeta evidencia de Boletia hay una respuesta HTTP guardada donde se ve que lo que un revisor escribio en el buscador volvio dentro del HTML tal cual, sin convertirse en texto. Eso confirma que el navegador recibiria el marcado y lo ejecutaria. Leer la respuesta guardada es la forma estatica de confirmar el XSS sin lanzar nada contra un sistema vivo.

La evidencia no es el ataque: es la prueba de que la salida no se codifica, que es lo que el informe necesita.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Que demuestra la respuesta guardada en la carpeta evidencia?

Ver pista de ayuda

Compara lo que se escribio con lo que aparece dentro del cuerpo de la respuesta.

Contra el XSS el arreglo tiene dos capas, y la primera es imprescindible: codificar la salida, convirtiendo los caracteres que el navegador trata como marcado en su forma de texto cuando se pintan —en PHP, htmlspecialchars—. Encima de eso, una Content-Security-Policy limita que scripts puede ejecutar la pagina y reduce el dano si algo se escapa. El auditor recomienda las dos, en ese orden: codificar siempre, CSP como refuerzo.

Validar solo la entrada no basta: la misma entrada puede ser legitima en un sitio y peligrosa al pintarla en otro. Se codifica donde se imprime.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Que recomiendas para cerrar el XSS de Boletia?

Ver pista de ayuda

El arreglo actua donde se imprime la entrada, no solo donde entra.

La nota de triaje de Boletia recoge el fallo: el archivo, el parametro, la clasificacion CWE-79 y el arreglo. Abrela en el laboratorio y lee el codigo del hallazgo con el que cierra. Ese codigo acompana al XSS en el informe.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Abre la nota de triaje de Boletia (carpeta auditoria) y escribe el codigo del hallazgo que la cierra.

Ver pista de ayuda

Ultima linea de auditoria/hallazgo.txt.

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

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build bcc89e

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