Saltar al contenido principal
Descubre gratis qué saben los hackers de tu empresa ¿Tu empresa es segura? Huella digital gratuita
Blog Seguridad Web

OWASP Top 10 en 2021: vulnerabilidades web críticas

Analizamos las 10 vulnerabilidades más explotadas en aplicaciones web según OWASP y cómo protegerte ante ellas.

DP
Damián Pérez | 12 min de lectura | Última actualización 3 de octubre de 2025

¿Qué es OWASP Top 10?

OWASP (Open Worldwide Application Security Project) es una comunidad abierta dedicada a mejorar la seguridad del software. Su proyecto más conocido, el OWASP Top 10, es un informe de consenso que identifica las diez categorías de vulnerabilidades más críticas en aplicaciones web.

Este ranking se actualiza periódicamente y es utilizado como referencia por desarrolladores, auditores y reguladores en todo el mundo. Conocerlo no es opcional: es el mínimo que cualquier equipo técnico debe dominar.

Las 10 vulnerabilidades más críticas

A01: Broken Access Control

El control de acceso roto sigue siendo la vulnerabilidad número uno. Ocurre cuando un usuario puede acceder a recursos o realizar acciones para las que no tiene permisos. Ejemplos típicos: acceder a datos de otros usuarios modificando un ID en la URL, escalar privilegios, o acceder a paneles de administración sin autenticación adecuada.

Cómo protegerse: Implementar control de acceso basado en roles (RBAC) en el servidor, nunca confiar en el cliente para decisiones de autorización, y auditar regularmente los permisos.

A02: Cryptographic Failures

Fallos criptográficos que exponen datos sensibles. Incluye el uso de algoritmos obsoletos (MD5, SHA1), transmisión de datos sin cifrar, almacenamiento de contraseñas en texto plano, o gestión incorrecta de certificados TLS.

Cómo protegerse: Usar TLS 1.3, cifrar datos sensibles en reposo y en tránsito, implementar hashing con bcrypt/Argon2 para contraseñas.

A03: Injection

Las inyecciones (SQL, NoSQL, LDAP, OS commands) siguen siendo un vector de ataque devastador. Ocurren cuando datos no confiables se envían a un intérprete como parte de un comando o consulta.

Cómo protegerse: Usar consultas parametrizadas (prepared statements), validar y sanitizar todas las entradas, aplicar el principio de mínimo privilegio en bases de datos.

A04: Insecure Design

Categoría introducida para distinguir fallos de diseño de fallos de implementación. Un diseño inseguro no puede arreglarse con una implementación perfecta. Ejemplo: un flujo de recuperación de contraseña que permite enumeración de usuarios.

Cómo protegerse: Integrar threat modeling desde la fase de diseño, usar patrones de seguridad probados, implementar revisiones de arquitectura de seguridad.

A05: Security Misconfiguration

Configuraciones por defecto inseguras, servicios innecesarios habilitados, headers de seguridad ausentes, mensajes de error verbosos que revelan información sensible. Es la vulnerabilidad más fácil de explotar y también de prevenir.

Cómo protegerse: Hardening de servidores, eliminar servicios y componentes no utilizados, configurar headers de seguridad (CSP, HSTS, X-Frame-Options), automatizar auditorías de configuración.

A06: Vulnerable and Outdated Components

Usar librerías, frameworks o componentes con vulnerabilidades conocidas. Un solo paquete npm desactualizado puede comprometer toda la aplicación.

Cómo protegerse: Mantener un inventario de dependencias, automatizar el escaneo de vulnerabilidades (Dependabot, Snyk), actualizar regularmente, eliminar dependencias no utilizadas.

A07: Identification and Authentication Failures

Fallos en la autenticación que permiten a atacantes comprometer contraseñas, tokens de sesión o suplantar identidades. Incluye: passwords débiles permitidos, ataques de fuerza bruta no mitigados, tokens predecibles.

Cómo protegerse: Implementar MFA, bloqueo tras intentos fallidos, tokens de sesión seguros, políticas de contraseñas robustas.

A08: Software and Data Integrity Failures

Fallos relacionados con código y datos que no verifican su integridad. Incluye: deserialización insegura, pipelines CI/CD sin verificación, actualizaciones de software sin firma.

Cómo protegerse: Verificar firmas digitales, usar SRI (Subresource Integrity) para CDNs, implementar controles de integridad en pipelines.

A09: Security Logging and Monitoring Failures

Sin logging y monitorización adecuados, las brechas pasan desapercibidas durante meses. El tiempo medio de detección de una brecha sigue siendo demasiado alto.

Cómo protegerse: Implementar logging centralizado, alertas en tiempo real para eventos de seguridad, retención de logs conforme a regulación, monitorización de actividad sospechosa.

A10: Server-Side Request Forgery (SSRF)

SSRF permite a un atacante hacer que el servidor realice peticiones a recursos internos o externos arbitrarios. Con la adopción de microservicios y cloud, esta vulnerabilidad es cada vez más impactante.

Cómo protegerse: Validar y sanitizar URLs de entrada, usar allowlists para destinos permitidos, segmentar la red, deshabilitar redirecciones innecesarias.

¿Cómo evaluar tu exposición?

La mejor forma de saber si tu aplicación es vulnerable al OWASP Top 10 es mediante un pentesting web profesional. En GreenLock, nuestras auditorías cubren todas las categorías del OWASP Top 10 (y más) usando una combinación de herramientas automatizadas y técnicas manuales avanzadas.

Además, si tu empresa opera en sectores regulados, cumplir con el OWASP Top 10 es un paso fundamental para satisfacer los requisitos técnicos de normativas como NIS2.

#OWASP#vulnerabilidades#seguridad web#desarrollo seguro#API
DP

Damián Pérez

Co-founder & Offensive Security

CRTO Certified CRTO Certified