Mass Assignment Privilege Escalation
Plataforma de recetas de cocina donde el endpoint de registro acepta el campo 'role' sin validacion, permitiendo registrarse como administrador y acceder al panel con datos sensibles y la flag del sistema.
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
Objetivos
Logro que recibirás
Cuando resuelvas este lab desbloqueas este logro compartible
Mass Assignment Privilege Escalation
Writeups de la comunidad
Credenciales
| Usuario | Contrasena | Rol |
|---|---|---|
| gordon | password123 | user |
| julia | password123 | user |
| marco | password123 | admin |
Despliegue
# Opcion 1: autodeploy
./autodeploy.sh
# Opcion 2: manual
docker compose up --build
# Acceder
https://localhost:1002
Compatible con macOS, Linux y Windows (Docker Desktop / WSL).
Para parar:
./autodeploy.sh destroy
# o: docker compose down -v
Contenido del Lab
La aplicacion
ChefHub es una plataforma social de recetas donde los usuarios comparten sus creaciones culinarias, exploran recetas de otros chefs, y los administradores gestionan el contenido y los usuarios.
La vulnerabilidad
El endpoint POST /api/auth/register acepta el campo role directamente del body JSON sin ningun filtrado. Aunque la interfaz web no envia este campo, un atacante puede anadirlo manualmente para obtener privilegios de admin.
Cadena de ataque
1. Registrarse normalmente → response muestra role: user
2. Intentar GET /api/admin/stats → 403 Forbidden
3. Registrar con {... , role: admin} → role: admin!
4. Login → Acceso completo al panel admin
5. Flag en /api/admin/stats
Solucion interactiva
Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.