12 DOM XSS Parameters for Automated Scanning
Red social con 12 parametros diferentes inyectables en el DOM via distintos sinks (innerHTML, document.write, eval, outerHTML, setTimeout, location.replace). Ideal para practicar con herramientas automatizadas como dalfox.
Learn to find this bug
A real bug bounty report, reproduced for you to practice.
Create your account and practice real bugs that got paid. Download the environment, find it and learn the exact technique — your path to your first bounty.
- hunters training
- 650
- labs from real reports
- 50
- completions
- 380
- in bounties practiced
- $200,000
hunters training
labs from real reports
completions
in bounties practiced
Access to all labs · no commitment · cancel anytime
Hunters who solved it· 8
Objectives
Achievement you'll earn
Solve this lab to unlock this shareable achievement
12 DOM XSS Parameters for Automated Scanning
Community writeups
Credenciales
| Usuario | Contrasena | Rol |
|---|---|---|
| alice | password123 | user |
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 12 parametros inyectables en diferentes sinks DOM.
La vulnerabilidad
12 parametros: q, ref, msg, tab, next, user, #fragment, debug, sort, lang, redirect, title. Cada uno se inyecta en un sink diferente: innerHTML, document.write, eval, outerHTML, setTimeout, location.replace, document.title.
Cadena de ataque
1. Probar ?q=<script>alert(1)</script>
2. Probar ?ref=javascript:alert(1)
3. etc. para cada parametro
4. O ejecutar: dalfox url http://localhost:1000/dashboard
Solucion interactiva
Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.
Flag
(alert/XSS ejecutado en cada parametro)
Remediacion
- Sanitizar todo input antes de insertarlo en el DOM
- Usar textContent en vez de innerHTML
- Nunca pasar input de usuario a eval/setTimeout
- CSP estricto