Desarrollo7 min lectura

OWASP API Top 10: Las vulnerabilidades que destruyen tu backend.

Zenith
Autor

Zenith

Publicado:

03 Junio, 2026

83%Aplicaciones con al menos una vulnerabilidad de API críticaSalt Security 2024
3xMás ataques a APIs que a interfaces web tradicionalesAkamai State of Internet
4.1BLlamadas API maliciosas bloqueadas en 2024Cloudflare Radar
API1BOLA: vulnerabilidad #1 OWASP API Top 10OWASP API Top 10 2023

Las APIs son la nueva superficie de ataque

Las APIs ya no son infraestructura auxiliar: son el núcleo de los negocios digitales. Tu app móvil, tu e-commerce, tus integraciones B2B y tu arquitectura en la nube se comunican mediante APIs. Y los atacantes lo saben perfectamente.

El OWASP API Security Top 10 documenta las categorías más críticas. Conocerlas es el primer paso para no ser la próxima víctima.

Las vulnerabilidades más críticas

API1:2023

BOLA — Broken Object Level Authorization

El atacante manipula un ID en la URL para acceder a datos de otros usuarios. Afecta al 72% de las APIs analizadas. La validación de autorización debe hacerse por recurso, no solo por rol.

API2:2023

Broken Authentication

Tokens JWT sin expiración, secretos débiles, falta de MFA o endpoints sin rate limiting. Permite robo de sesión y fuerza bruta sin detección.

API3:2023

Broken Object Property Authorization

La API devuelve o acepta campos que el usuario no debería ver o modificar (mass assignment). Los atacantes envían campos extra para escalar privilegios.

API4:2023

Unrestricted Resource Consumption

Sin límites de peticiones, tamaño de payload o complejidad de consulta, un atacante puede degradar el servicio sin necesitar un DDoS masivo.

Configuración: Rate Limiting + JWT en NGINX Plus

Este fragmento requiere el módulo JWT comercial de NGINX Plus. El archivo de claves debe contener un JSON Web Key Set (JWKS), no una clave pública PEM. Envía el token en la cabecera Authorization: Bearer; incluirlo en una URL puede exponerlo en los registros. Consulta la documentación JWT de NGINX y las recomendaciones de transporte de tokens del RFC 6750.

Coloca este fragmento dentro del contexto http y configura por separado el certificado TLS y el upstream del backend. Valida el emisor, la audiencia y los permisos sobre cada recurso antes de usarlo en producción: validar el token no sustituye las comprobaciones de autorización.

# NGINX Plus — fragmento dentro de http { ... }
limit_req_zone $binary_remote_addr zone=api:10m rate=30r/m;

server {
    listen 443 ssl;
    # Certificado TLS y upstream del backend configurados por separado.
    # Lee Authorization: Bearer de forma predeterminada.
    auth_jwt "API Zone";
    auth_jwt_key_file /etc/nginx/api-jwks.json;

    location /api/ {
        limit_req zone=api burst=10 nodelay;
        limit_req_status 429;
        add_header X-Content-Type-Options "nosniff";
        add_header Strict-Transport-Security "max-age=31536000";
        proxy_pass http://backend;
    }
}

"Una API sin autenticación es una puerta trasera con cartel de bienvenida. Sin rate limiting, es una invitación al abuso."

Zenith — Primitive Labs

Checklist de seguridad para tu API

  • 01
    Autenticación — JWT con expiración corta, refresh tokens rotativos, MFA en endpoints críticos.
  • 02
    Autorización — Validar BOLA en cada recurso. Principio de menor privilegio por token/scope.
  • 03
    Validación de entrada — Schema validation estricta. Rechazar peticiones con campos inesperados.
  • 04
    Rate limiting — Por IP, por usuario y por endpoint. Respuesta 429 con cabecera Retry-After.
  • 05
    Logging — Registrar todas las peticiones con IP, user-agent y usuario. Alertas ante patrones anómalos.
Etiquetas :
OWASPAPIsJWTDevSecOpsBackend