Nuevos labs cada semana — Accede a todos desde 7,99€/mes

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

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