Client-Side Role Bypass + Missing Server RBAC
Plataforma de ranking de hackers donde el rol del usuario se controla desde el cliente. Modificando la respuesta del servidor con Burp Suite (Match & Replace) se puede escalar a admin y cambiar la contrasena del super-hacker
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
Client-Side Role Bypass + Missing Server RBAC
Writeups de la comunidad
Despliegue
# Opcion 1: autodeploy
./autodeploy.sh
# Opcion 2: manual
docker compose up --build
# Acceder
http://localhost:1700
Compatible con macOS, Linux y Windows (Docker Desktop / WSL).
Para parar:
./autodeploy.sh destroy
# o: docker compose down -v
Contenido del Lab
La aplicacion
CyberRank es una plataforma de ranking de hackers con leaderboard, panel de administracion y un super-hacker panel secreto.
La vulnerabilidad
El servidor envia role: user en las respuestas de autenticacion y el frontend muestra/oculta secciones basandose en ese valor. Sin embargo, los endpoints de admin (/api/admin/*) no verifican el rol del usuario en el servidor, confiando unicamente en el cliente.
Cadena de ataque
1. Registrarse → role: user
2. Burp → Match & Replace: role.*user → role.*admin
3. Refrescar → Panel admin visible
4. GET /api/admin/users → Lista usuarios (funciona sin ser admin!)
5. Cambiar contrasena de thebesthacker
6. Login como thebesthacker → Flag
Solucion interactiva
Accede a /writeup dentro de la aplicacion para una guia paso a paso con botones interactivos.
Remediacion
- Validar roles en el SERVIDOR, nunca confiar en el cliente
- Implementar middleware de autorizacion en cada endpoint admin
- No exponer el rol en las respuestas del API si no es necesario
- Principio de menor privilegio en cada endpoint