HTTP Method Override & Admin Bot Exploitation
Plataforma de venta de coches premium con un endpoint de cambio de contrasena que acepta tanto POST como GET. Un bot administrador revisa los tickets de soporte y abre todos los links que contienen. Encadena el cambio de metodo HTTP con ingenieria social al bot para conseguir acceso administrativo y exfiltrar datos sensibles del negocio.
$200
Es lo que una empresa pagó por este fallo en HackerOne. Aquí lo tienes reconstruido para que lo encuentres tú.
Aprende a encontrar este bug
Este bug pagó $200 en HackerOne.
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:4000
Compatible con macOS, Linux y Windows (Docker Desktop / WSL).
Para parar:
./autodeploy.sh destroy
# o Ctrl+C si usaste autodeploy
# o: docker compose down -v
La aplicacion
EliteMotors es una plataforma de venta de coches de segunda mano premium. La web incluye:
- Catalogo de coches — 15 vehiculos con especificaciones detalladas (BMW M3, Porsche 911, Mercedes AMG, etc.)
- Sistema de usuarios — Registro, login, perfil con cambio de contrasena
- Soporte / Contacto — Formulario de tickets donde un administrador revisa cada solicitud
- Panel administrativo — Dashboard con estadisticas de ventas, datos de compradores (PII), gestion de usuarios
La vulnerabilidad
El endpoint /api/auth/change-password esta disenado para recibir peticiones POST con Content-Type: application/x-www-form-urlencoded:
POST /api/auth/change-password
Content-Type: application/x-www-form-urlencoded
Cookie: token=<JWT>
newPassword=nuevaContrasena123
Sin embargo, el mismo endpoint tambien acepta peticiones GET, leyendo los parametros de la URL:
GET /api/auth/change-password?newPassword=nuevaContrasena123
Cookie: token=<JWT>
Esto convierte una accion de estado (cambio de contrasena) en un link de 1-clic.
El bot administrador
El administrador carlos_manager revisa los tickets de soporte cada 15 segundos. Cuando encuentra un link en el mensaje de un ticket, lo abre automaticamente con su sesion activa (cookie JWT).
La cadena de ataque
1. Registrarse → Crear cuenta propia
2. Explorar → Ir a Perfil, cambiar contrasena, observar peticion POST
3. Descubrir → Probar la misma peticion como GET (funciona!)
4. Reconocimiento → Ver tickets → "Assigned to: carlos_manager"
5. Explotar → Enviar ticket con link:
http://localhost:4000/api/auth/change-password?newPassword=hacked123
6. Esperar → Bot abre el link con sesion de admin → contrasena cambiada
7. Acceso → Login como carlos_manager / hacked123
8. Flag → Panel admin → bb7a98c57b8374c3e00f0f1b3d0e4c57
Solucion interactiva
Accede a /writeup dentro de la aplicacion (requiere login) para una guia paso a paso con botones que ejecutan cada peticion automaticamente.
