Nuevos labs cada semana — Accede a todos desde 7,99€/mes
Ver labs →Labs de Broken Access Control
Broken Access Control (BAC)
¿Qué es Broken Access Control?
Broken Access Control es el #1 del OWASP Top 10. Engloba toda situación en la que un usuario accede a recursos o funcionalidades para las que no tiene permiso: vertical (escalada de privilegios) y horizontal (acceder a datos de otro usuario del mismo nivel).
¿Por qué practicar Broken Access Control?
BAC es la categoría #1 del OWASP Top 10 2021 — más del 90% de aplicaciones probadas la presentan. En bug bounty representa una porción enorme de los reportes triagedos. Los bounties por privilege escalation a admin típicamente superan los $3,000.
¿Qué aprenderás con los labs de Broken Access Control?
Aprenderás a mapear roles y endpoints, detectar checks ausentes en middleware Express, abusar de feature flags expuestas en /me, y a documentar PoC con dos cuentas (low-priv + high-priv) que demuestren bypass real.
Tipos de Broken Access Control que cubrimos
- Vertical privilege escalation
Usuario normal accede a funciones de admin. El endpoint admin no chequea rol o lo chequea por cabecera/cookie manipulables.
- Horizontal escalation
Usuario A accede a recursos de usuario B (mismo rol). Es esencialmente IDOR.
- Forced browsing
URLs admin no enlazadas pero accesibles directamente. /admin, /admin/api, /internal.
- Client-side authz bypass
El frontend oculta botones según rol pero el backend no rechaza la request. Llamada directa = bypass.
¿Cómo encontrar y explotar Broken Access Control?
Playbook práctico — del recon a la prueba de concepto.
- 1
Mapear roles y rutas
Loguéate como admin (o lee el JS del frontend) y anota todos los endpoints privilegiados. Luego repítelos con una cuenta normal.
Del bundle JS: /api/admin/users, /api/admin/reports, /internal/flags - 2
Llamar al endpoint admin como low-priv
Repite la petición admin con la cookie/token de la cuenta sin privilegios. Si responde 200, el check de rol falta en el backend.
GET /api/admin/users (con token de usuario básico) → 200 = BAC - 3
Forced browsing
Prueba rutas admin no enlazadas y sus variantes de API. Muchas apps protegen la vista pero no el endpoint que la alimenta.
/admin · /admin/api/users · /api/v1/internal/config - 4
Bypass por cabeceras de override
Algunos middlewares confían en cabeceras de routing/proxy. Pruébalas para saltarte la regla de acceso.
X-Original-URL: /admin · X-Forwarded-For: 127.0.0.1 · X-Rewrite-URL: /admin - 5
Abusar de flags client-side
Si /me expone isAdmin/role o el front oculta botones por rol, llama directo a la acción protegida ignorando la UI.
POST /api/users/3/promote {"role":"admin"} (la UI lo ocultaba, el backend lo permite)
Aprende la teoría
Academy: IDOR & Broken Access Control
Cargando labs...
Ver en catálogo completo →Preguntas frecuentes
¿Qué es Broken Access Control?
Es la categoría #1 del OWASP Top 10: cualquier situación en la que un usuario accede a recursos o funciones para los que no está autorizado, ya sea escalando privilegios (vertical) o accediendo a datos de otros usuarios de su mismo nivel (horizontal).
¿Cómo se explota Broken Access Control?
Se repiten peticiones a funciones o recursos privilegiados con una cuenta de menor privilegio o sin sesión. Si el backend no revalida el rol/propiedad y responde con los datos o ejecuta la acción, el control de acceso está roto.
¿Cómo encontrar BAC en bug bounty?
Enumera endpoints desde el JS y la documentación de la API, prueba cada uno con cuentas de distinto rol, fuerza rutas admin ocultas y experimenta con cabeceras de override (X-Original-URL) y métodos HTTP alternativos.
¿Cómo prevenir Broken Access Control?
Aplica autorización por defecto deny en el servidor, centraliza los checks en middleware, valida rol y propiedad en cada petición, no confíes nunca en controles del frontend y registra los fallos de acceso para detección.
¿Diferencia entre BAC, IDOR y escalada de privilegios?
BAC es el concepto general. El IDOR es su variante horizontal (acceder a objetos de otros usuarios). La escalada de privilegios es su variante vertical (un usuario normal accede a funciones de admin).
Otras categorías relacionadas
Empieza con labs de Broken Access Control
Practica Broken Access Control (BAC) con labs basados en reportes reales. En español. Desde 7,99€/mes.
Empieza con el primer lab de Broken Access Control