PASO 01
Objetivo
Cada reto abre con qué hay que lograr y el código vulnerable a la vista.
PROYECTO /03 · PLATAFORMA PROPIA · ASTRO
Aprender XSS suele exigir montar un lab vulnerable y arriesgar la máquina. JSForge corre el código vulnerable dentro de un iframe sandbox de origen opaco: la inyección se ejecuta de verdad, pero no puede leer el sitio, la sesión ni las cookies. Cada reto muestra el código que falla y la remediación en diff, lado a lado.
PASO 01
Cada reto abre con qué hay que lograr y el código vulnerable a la vista.
PASO 02
El payload se ejecuta real en un iframe sandbox de origen opaco, sin servidor expuesto.
PASO 03
Tres pistas progresivas: del síntoma en pantalla a la técnica concreta.
PASO 04
La flag desbloquea el diff con el arreglo, para entender por qué se cierra el bug.
$ reto — Reflejo Peligroso · DOM XSS · FÁCIL
[+] el buscador vuelca el término del input con innerHTML
[+] objetivo: ejecutar JavaScript desde ese campo
[!] innerHTML interpreta HTML, no texto: el handler corre
[!] flag capturada · sin tocar el sitio ni la sesión
→ remediación en diff: escapar la salida en vez de inyectar HTML