Labs de API Abuse
API Abuse & GraphQL Attacks
Deja de leer sobre bugs y empieza a cazarlos
Sin tarjeta · Academy gratis · cancela cuando quieras
¿Qué es API Abuse?
Las vulnerabilidades de API Abuse explotan funcionalidades de APIs REST y GraphQL más allá de su uso previsto: rate limiting bypass, mass assignment, BOLA/BFLA, GraphQL introspection abuse, batch query attacks y enumeration via timing.
¿Por qué practicar API Abuse?
Las APIs son el target más común en aplicaciones modernas (mobile + web + B2B), y el OWASP API Top 10 es relativamente reciente — los devs todavía están al día. Bounty típico: BOLA y BFLA pagan en el rango $1,000-$10,000 por endpoint vulnerable.
¿Qué aprenderás con los labs de API Abuse?
Aprenderás el OWASP API Top 10 hands-on (BOLA, BFLA, mass assignment, server-side request forgery via webhooks), técnicas de GraphQL (introspection, alias batching, query depth attacks), y bypass de rate limiting via X-Forwarded-For + endpoints variant.
Tipos de API Abuse que cubrimos
- BOLA (Broken Object Level Auth)
Equivalente API a IDOR — accedes a objetos ajenos pasando su ID. Ej: GET /api/v1/orders/123.
- BFLA (Broken Function Level Auth)
Endpoints admin accesibles a usuarios normales. Ej: POST /api/v1/users (crear users) sin rol check.
- GraphQL introspection
Si __schema está habilitado en prod, mapeas toda la API en una query — incluyendo mutations sensibles ocultas.
- Mass assignment
PUT /users/me con `{role:"admin", verified:true}` — fields extra que el modelo acepta sin filtrar.
- Rate limit bypass
X-Forwarded-For rotativo, IPv6 prefix variation, endpoints alias (/api/v1 vs /api). Habilita brute force.
¿Cómo encontrar y explotar API Abuse?
Playbook práctico — del recon a la prueba de concepto.
- 1
Mapear la superficie de la API
Recoge endpoints del tráfico móvil/web, de la doc Swagger/OpenAPI y de versiones antiguas (/api/v1 vs /api/v2). Cuanto más completo el mapa, más fallos encuentras.
GET /swagger.json · /api/v1/ · /api/internal/ - 2
Probar BOLA en cada objeto
Repite peticiones cambiando el ID de objeto por uno ajeno con tu token. Si devuelve datos de otro, es Broken Object Level Authorization.
GET /api/v1/orders/1002 (tu token, pedido de otro usuario) - 3
Probar BFLA en funciones admin
Llama a operaciones de gestión (crear/borrar usuarios, cambiar roles) con una cuenta normal. Muchas APIs no revalidan el nivel de función.
POST /api/v1/admin/users {"role":"admin"} (con token básico) - 4
Abusar de mass assignment
Añade campos privilegiados al body de un update. Si el modelo los acepta sin allowlist, escalas privilegios o saltas verificaciones.
PATCH /api/v1/users/me {"isAdmin":true,"emailVerified":true} - 5
Explotar GraphQL
Si la introspección está activa, vuelca el schema completo y descubre mutations ocultas; con alias batching haces brute force en una sola petición.
{__schema{types{name fields{name}}}} · alias1:login(...) alias2:login(...) ... - 6
Bypassear el rate limit
Rota IP simulada, varía la ruta o el casing, o agrupa intentos en batch para saltarte el throttling y habilitar fuerza bruta.
X-Forwarded-For: 1.2.3.4 (rotando) · /api/v1/login vs /API/V1/login
Aprende la teoría
Academy: GraphQL Security
Cargando labs...
Ver en catálogo completo →Preguntas frecuentes
¿Qué es el API Abuse?
Es el conjunto de ataques que explotan APIs REST y GraphQL más allá de su uso previsto: acceso a objetos ajenos (BOLA), funciones admin sin control (BFLA), mass assignment, abuso de introspección GraphQL y bypass de rate limiting.
¿Cómo se explota una API vulnerable?
Se interceptan las peticiones y se manipulan IDs de objeto (BOLA), se llaman endpoints administrativos con cuentas normales (BFLA), se añaden campos privilegiados al body (mass assignment) y, en GraphQL, se vuelca el schema con introspección para encontrar mutations sensibles.
¿Cómo encontrar fallos de API en bug bounty?
Captura el tráfico de la app móvil/web, mapea endpoints con Swagger y versiones antiguas, y prueba sistemáticamente BOLA/BFLA con dos cuentas. En GraphQL, lanza una query de introspección para revelar toda la superficie.
¿Cómo prevenir el abuso de APIs?
Aplica autorización por objeto y por función en cada endpoint, usa allowlist de campos en los updates (evita mass assignment), desactiva la introspección GraphQL en producción, limita profundidad/coste de las queries y aplica rate limiting robusto.
¿Diferencia entre BOLA y BFLA?
BOLA (Broken Object Level Authorization) es acceder a OBJETOS de otros usuarios cambiando su ID — equivalente al IDOR. BFLA (Broken Function Level Authorization) es ejecutar FUNCIONES para las que no tienes nivel, como endpoints de administración, desde una cuenta normal.
Otras categorías relacionadas
hunters entrenando
labs de hackeos reales
completaciones
pagados por estos bugs
La checklist que repaso en cada objetivo nuevo
47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.
Te das de baja en un clic, desde cualquier correo.
Practica API Abuse en labs reales
Cada lab de API Abuse 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
La comunidad
Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.
Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.