Accede a este lab
Entorno seguro y aislado
Crea una cuenta y suscríbete para acceder a todos los labs. Practica en un entorno real y seguro.
Hunters que lo han resuelto· 8
Logro que recibirás
Cuando resuelvas este lab desbloqueas este logro compartible
Stored XSS via SVG File Upload
Writeups de la comunidad
Despliegue
# Opcion 1: autodeploy
./autodeploy.sh
# Opcion 2: manual
docker compose up --build
# Acceder
http://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 con subida de avatares SVG renderizados con .
La vulnerabilidad
Los SVGs subidos se renderizan con <object> que ejecuta JavaScript embebido en el SVG (a diferencia de <img> que es seguro). Un SVG con <script>alert(1)</script> o onload=alert(1) se ejecuta.
Cadena de ataque
1. Crear SVG: <svg xmlns=...><script>alert(1)</script></svg>
2. Subir como avatar
3. Cualquier usuario que vea el perfil → XSS ejecutado
Solucion interactiva
Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.
Flag
(XSS ejecutado via SVG)
Remediacion
- Renderizar SVGs con
en vez de
- Sanitizar SVGs (eliminar scripts y event handlers)
- CSP que bloquee inline scripts
- Servir SVGs con Content-Disposition: attachment