CSRF que Escala Self-XSS a Stored XSS
Red social donde las notas privadas permiten HTML (Self-XSS) y el endpoint de perfil es vulnerable a CSRF. Encadenando ambos, el atacante inyecta XSS persistente en el perfil de la victima.
Aprende a encontrar este bug
Un reporte real de bug bounty, reproducido para que lo practiques.
Crea tu cuenta y practica bugs reales que se pagaron. Descarga el entorno, encuéntralo y aprende la técnica exacta — tu camino a tu primer bounty.
hunters entrenando
labs de reportes reales
completaciones
en bounties practicados
Acceso a todos los labs · sin permanencia · cancela cuando quieras
Hunters que lo han resuelto· 5
Objetivos
Logro que recibirás
Cuando resuelvas este lab desbloqueas este logro compartible
CSRF que Escala Self-XSS a Stored XSS
Writeups de la comunidad
Despliegue
# Opcion 1: autodeploy
./autodeploy.sh
# Opcion 2: manual
docker compose up --build
# Acceder
https://localhost:1000
Compatible con macOS, Linux y Windows (Docker Desktop / WSL).
Para parar:
./autodeploy.sh destroy
# o: docker compose down -v
Contenido del Lab
La aplicacion
Chirp es una red social con posts, perfil editable y notas privadas que soportan HTML.
La vulnerabilidad
Las notas privadas renderizan HTML sin sanitizar (Self-XSS, solo afecta al propio usuario). El endpoint de actualizacion de perfil no tiene token CSRF y usa cookies SameSite=None. Combinando ambos: CSRF fuerza la escritura de XSS en las notas de la victima → Stored XSS.
Cadena de ataque
1. Encontrar Self-XSS en notas privadas
2. Descubrir que el perfil no tiene CSRF token
3. Verificar SameSite=None en cookies
4. Crear PoC HTML que haga CSRF al perfil
5. Inyectar payload XSS via CSRF
6. Victima visita su perfil → XSS ejecutado
Solucion interactiva
Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.
Flag
(XSS ejecutado en contexto de la victima)
Remediacion
- Implementar tokens anti-CSRF en todos los formularios
- Usar SameSite=Strict o Lax en cookies
- Sanitizar HTML en notas privadas
- Content-Security-Policy con nonces