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. 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. 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. 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. 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. 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

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).

650

hunters entrenando

50

labs de reportes reales

380

completaciones

$200.000

en bounties practicados

40 flags capturadas esta semana·Reportes reales de HackerOne · Bugcrowd · Intigriti·Sin permanencia·Academy gratis
BBLabs · bug bounty en español

Practica Broken Access Control en labs reales

Cada lab de Broken Access Control replica un reporte real de bug bounty que se pagó. Crea tu cuenta gratis, empieza por la Academy y pasa a los labs cuando quieras.

Sin tarjeta · Academy gratis · cancela cuando quieras