Seguridad de APIs REST/GraphQL para pentest y desarrollo seguro: OWASP API Top 10, ataques a autenticación (JWT, OAuth), IDOR/Autorización, fuzzing de endpoints, y su detección en la infraestructura (WAF/logs). Solo en entornos autorizados o propios.
| Licencia | Estado | Visibilidad | Contenido |
|---|---|---|---|
| MIT | Activo | Público | API security + detección |
api-security/
├─ api-top10.md → OWASP API Top 10: cómo probarlo cada uno
├─ auth-jwt.md → JWT/OAuth: los ataques más rentables
├─ fuzzing.md → descubrir endpoints y parámetros
├─ herramientas.md → toolbox (Burp, ffuf, postman, openapi)
├─ scripts/ → enumerate-endpoints.sh
├─ deteccion.md → WAF/logs/SIEM: cómo pillarlo
├─ LICENSE
└─ README.md
⚠️ Solo en APIs propias o con autorización (pentest/BB con scope). Probar APIs de terceros sin permiso es delito. La responsabilidad del uso es del operador.
| # | Categoría | Primer test |
|---|---|---|
| API1 | Broken Object Level Authorization (BOLA/IDOR) | cambia id del recurso con tu token |
| API2 | Broken Authentication | enumeración, JWT robado, passwords débiles |
| API3 | Broken Object Property Level Authorization | ¿puedes sobreescribir campos que no deberías (admin)? |
| API4 | Unrestricted Resource Consumption | rate limit, peticiones pesadas → DoS |
| API5 | Broken Function Level Authorization | llama a /admin con token de usuario normal |
| API6 | Unrestricted Access to Sensitive Business Flows | lógica de negocio (compras, reservas) |
| API7 | Server Side Request Forgery (SSRF) | endpoint que carga URLs |
| API8 | Security Misconfiguration | CORS, headers, debug, swagger expuesto |
| API9 | Improper Inventory Management | versiones viejas (/v1/ sin parchear) |
| API10 | Unsafe Consumption of APIs | dependencias a APIs de terceros no auditadas |
# Descubrir el surface: OpenAPI/Swagger
cat endpoints.txt | grep -E 'swagger|api-docs|openapi|graphql'
# Fuzzing de rutas
ffuf -u https://api.example.com/FUZZ -w api_wordlist.txt -mc 200,201,204,301,302,401
# Fuzzing de params
ffuf -u 'https://api.example.com/v1/users?FUZZ=1' -w burp-parameter-names.txt -mc 200
# IDOR manual inmediato
curl -sk https://api.example.com/v1/users/1 -H 'Authorization: Bearer <tu_token>'api-top10.md— tests concretos por categoríaauth-jwt.md— JWT/OAuth ataques paso a pasofuzzing.md— encontrar lo que no está documentadoherramientas.md— la caja de herramientasdeteccion.md— logs, WAF y la parte azul
Material educativo de seguridad de APIs. Solo en APIs propias o con autorización escrita. La responsabilidad del uso es del operador.
Documentación mantenida por yNeoo.