Path Traversal via Invoice Download
Foro con sistema de pedidos donde el parametro file del endpoint de descarga de facturas permite path traversal para leer archivos arbitrarios del servidor.
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:1400
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 sistema de pedidos y descarga de facturas.
La vulnerabilidad
El endpoint /api/orders/download?file=invoice.pdf no sanitiza el parametro file, permitiendo ?file=../../../../etc/passwd para leer archivos arbitrarios.
Cadena de ataque
1. Hacer un pedido y descargar factura
2. Observar URL: /api/orders/download?file=invoice_123.pdf
3. Cambiar a: ?file=../../../../etc/passwd
4. Obtener contenido del archivo del sistema
Solucion interactiva
Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.
Flag
(contenido de /etc/passwd o archivos del servidor)
Remediacion
- Usar path.basename() para sanitizar el nombre de archivo
- Verificar que la ruta final esta dentro del directorio de facturas
- Usar IDs de base de datos en vez de nombres de archivo
- Bloquear secuencias ../ en los parametros
