Laboratorio de XSS

Aprende, practica y explota vulnerabilidades de Cross-Site Scripting en un entorno controlado. Del ataque a la defensa.

Ofensivo Educativo Entorno controlado
Entorno educativo
Este laboratorio contiene aplicaciones web intencionalmente vulnerables. Úsalo únicamente para aprender ciberseguridad. Las técnicas aquí mostradas solo deben aplicarse en sistemas con autorización explícita.

Ruta de aprendizaje recomendada

Fundamentos Web

Inicio

HTML, CSS y JavaScript. Cómo funciona el navegador desde la URL hasta el DOM final. Esencial antes de entender XSS.

¿Qué es XSS?

Intro

Qué es Cross-Site Scripting, los 3 tipos, estadísticas reales, casos históricos y su relación con OWASP Top 10 y WSTG.

El DOM del navegador

Prereq

Qué es el Document Object Model, cómo lo gestiona el navegador y por qué es la superficie de ataque de XSS.

Cookies y sus flags

Prereq

HttpOnly, Secure, SameSite. Por qué importan y qué ocurre cuando no están bien configuradas.

XSS Reflejado

Lab 1

El servidor refleja tu input sin sanitizar. Aprende a inyectar, robar cookies y crear componentes falsos.

XSS Persistente

Lab 2

El payload se almacena en la base de datos. Explota una sección de comentarios y roba la sesión de un bot.

XSS basado en DOM

Lab 3

Sin servidor de por medio. El código cliente lee la URL y escribe en el DOM. Sources y sinks.

Técnicas de explotación cubiertas

Defacement

Modificar el aspecto visual de una página web mediante inyección de HTML/CSS/JS. El ataque más visual y demostrativo.

Fake Login

Inyectar un formulario de login que apunta al servidor del atacante para robar credenciales. Técnica de phishing avanzado.

Robo de cookies

Exfiltrar cookies de sesión accesibles desde JavaScript (sin flag HttpOnly). La base del secuestro de sesión.

CSRF + cookies

Forzar acciones autenticadas desde el contexto de la víctima. Cómo los flags SameSite y tokens anti-CSRF lo previenen.

Arquitectura del laboratorio

Cloudflare Pages + Workers + KV

Endpoints del laboratorio

Endpoint Tipo Descripción
/api/search?q= Vulnerable Buscador que refleja input sin sanitizar
/api/comments Vulnerable GET/POST de comentarios sin sanitizar (KV)
/api/bot Simulación Bot víctima que visita la página de comentarios
/api/collect Atacante Servidor del atacante (recibe cookies, credenciales)
/api/collect/results Info Ver datos capturados (para validación)