ismael@chavez:~$← volver al índice

PROYECTO /03 · PLATAFORMA PROPIA · ASTRO

JSForge

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.

FICHA TÉCNICA

rol
Autor único
estado
Activo · jsforge.org
stack
Astro, React, Node, PostgreSQL
entrada
Retos con el código vulnerable a la vista
salida
Flag por reto + remediación en diff
licencia
MIT

CÓMO FUNCIONA

PASO 01

Objetivo

Cada reto abre con qué hay que lograr y el código vulnerable a la vista.

PASO 02

Inyección

El payload se ejecuta real en un iframe sandbox de origen opaco, sin servidor expuesto.

PASO 03

Pistas

Tres pistas progresivas: del síntoma en pantalla a la técnica concreta.

PASO 04

Remediación

La flag desbloquea el diff con el arreglo, para entender por qué se cierra el bug.

SALIDA (EJEMPLO)

$ 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

DECISIONES

Vulnerable de verdad, pero encerrado.
El iframe sandbox de origen opaco deja que la inyección se ejecute sin que pueda leer el sitio, la sesión ni las cookies.
El arreglo es parte del reto.
Explotar sin ver la remediación enseña a atacar, no a construir: cada reto termina en el diff que lo cierra.
Sin cuenta también funciona.
El progreso vive en localStorage; la cuenta es opcional y sin tracking de terceros.
SIGUIENTE /01NoxRecon →
Tucumán, AR · GMT-3escribime ↗