Client-Side Path Traversal to Admin Password Change
Foro donde un parametro de URL se inyecta en la ruta del API del cliente. Mediante CSPT se puede redirigir la peticion al endpoint de cambio de contrasena del admin.
Este hackeo se reportó sin recompensa
Aprende a encontrar este bug
Un hackeo real, 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 hackeos reales
completaciones
pagados por estos bugs
Acceso a todos los labs · sin permanencia · cancela cuando quieras
Hackers que lo han resuelto· 8
Objetivos
Logro que recibirás
Cuando resuelvas este lab desbloqueas este logro compartible

Writeups de la comunidad
La checklist que repaso en cada objetivo nuevo
47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.
Te das de baja en un clic, desde cualquier correo.
Despliegue
# Opcion 1: autodeploy
./autodeploy.sh
# Opcion 2: manual
docker compose up --build
# Acceder
http://localhost:1500
Compatible con macOS, Linux y Windows (Docker Desktop / WSL).
Para parar:
./autodeploy.sh destroy
# o: docker compose down -v
Contenido del Lab
La aplicacion
ZeroDay Forum con funcionalidad de Password Vault donde el parametro de URL se usa en la ruta de la API del cliente.
La vulnerabilidad
El Password Vault construye la URL de la API usando un parametro de la URL: /api/vault/${param}. Mediante path traversal (..%2F..%2Fauth%2FchangePassword?pass=hacked123), se puede redirigir la peticion al endpoint de cambio de contrasena.
Cadena de ataque
1. Analizar URL del Password Vault
2. Descubrir inyeccion de path en la API del cliente
3. Crear URL: /vault/..%2F..%2Fauth%2FchangePassword?pass=hacked123
4. Publicar en el foro
5. Admin bot visita → contrasena cambiada
6. Login como z3r0c00l → Flag
Solucion interactiva
Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.
Flag
827ccb0eea8a706c4c34a16891f84e7b
Remediacion
- Nunca concatenar input del usuario en rutas de API
- Validar y sanitizar parametros de URL
- Usar IDs en vez de paths para referenciar recursos
- Server-side: validar que la ruta solicitada es valida
