Seguridad Primero

Protegemos lo que más importa: tus datos, tu reputación y tu negocio.

Idioma

Desarrollo7 min lectura

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

Zenith
Autor

Zenith

Publicado:

15 Diciembre, 2025

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

La primera línea de defensa de una API es el rate limiting y la validación de tokens en el borde de la red, antes de que la petición llegue al backend.

# Rate Limiting + JWT Auth en NGINX
limit_req_zone $binary_remote_addr zone=api:10m rate=30r/m;
server {
    listen 443 ssl http2;
    auth_jwt "API Zone" token=$arg_token;
    auth_jwt_key_file /etc/nginx/jwt-public.pem;
    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.