Las 10 vulnerabilidades OWASP más importantes que debes conocer en aplicaciones web

owasp top 10

El OWASP Top 10 (Open Web Application Security Project) es un documento de concienciación estándar para desarrolladores y seguridad de aplicaciones web. Representa un amplio consenso sobre los riesgos de seguridad más críticos para las aplicaciones web. Reconocido mundialmente por los desarrolladores como el primer paso hacia una codificación más segura.

Las empresas deben adoptar este documento e iniciar el proceso para garantizar que sus aplicaciones web minimicen estos riesgos. Usar OWASP Top 10 como ejemplo, es quizás el primer paso más efectivo para cambiar la cultura de desarrollo de software dentro de su organización a una que produzca un código más seguro.

La Lista

Inyección

Los fallos de inyección, como SQL, NoSQL, OS y LDAP, ocurren cuando se envían datos que no son de confianza a un intérprete como parte de un comando o consulta. Los datos hostiles del atacante pueden engañar al intérprete para que ejecute comandos no deseados o acceda a datos sin la debida autorización.

Ruptura de Autenticación

Las funciones de la aplicación relacionadas con la autenticación y la administración de sesiones a menudo se implementan de manera incorrecta, lo que permite a los atacantes comprometer contraseñas, claves o tokens de sesión, o aprovechar otras fallas de implementación para asumir las identidades de otros usuarios de forma temporal o permanente.

Exposición de Datos Sensibles

Muchas aplicaciones web y API no protegen adecuadamente los datos confidenciales, como los financieros, de salud y PII. Los atacantes pueden robar o modificar esos datos débilmente protegidos para cometer fraude con tarjetas de crédito, robo de identidad u otros delitos. Los datos confidenciales pueden verse comprometidos sin protección adicional, como el cifrado en reposo o en tránsito, y requieren precauciones especiales cuando se intercambian con el navegador.

Leer también  El Futuro de la Seguridad Digital: Autenticación Sin Contraseñas

Entidades Externas XML (XXE)

Muchos procesadores XML antiguos o mal configurados evalúan las referencias de entidades externas dentro de los documentos XML. Las entidades externas se pueden utilizar para divulgar archivos internos mediante el controlador de archivos URI, recursos compartidos de archivos internos, escaneo de puertos internos, ejecución remota de código y ataques de denegación de servicio.

Pérdida del Control de Acceso

Las restricciones sobre lo que pueden hacer los usuarios autenticados a menudo no se aplican correctamente. Los atacantes pueden aprovechar estas fallas para acceder a funciones y / o datos no autorizados, como acceder a las cuentas de otros usuarios, ver archivos confidenciales, modificar los datos de otros usuarios, cambiar los derechos de acceso, etc.

Configuración de Seguridad Incorrecta

La configuración incorrecta de la seguridad es el problema más común. Esto suele ser el resultado de configuraciones predeterminadas inseguras, configuraciones incompletas o ad hoc, almacenamiento en la nube abierta, encabezados HTTP mal configurados y mensajes de error detallados que contienen información confidencial. No solo todos los sistemas operativos, marcos, bibliotecas y aplicaciones deben estar configurados de manera segura, sino que también deben ser parcheados / actualizados de manera oportuna.

Cross-Site Scripting XSS

Los fallos de XSS ocurren cuando una aplicación incluye datos que no son de confianza en una nueva página web sin la validación o el escape adecuados, o actualiza una página web existente con datos proporcionados por el usuario mediante una API de navegador que puede crear HTML o JavaScript. XSS permite a los atacantes ejecutar scripts en el navegador de la víctima que pueden secuestrar sesiones de usuario, desfigurar sitios web o redirigir al usuario a sitios maliciosos.

Deserialización Insegura

La deserialización insegura a menudo conduce a la ejecución remota de código. Incluso si las fallas de deserialización no dan como resultado la ejecución remota de código, se pueden usar para realizar ataques, incluidos ataques de reproducción, ataques de inyección y ataques de escalada de privilegios.

Uso de Componentes con Vulnerabilidades Conocidas

Los componentes, como bibliotecas, marcos y otros módulos de software, se ejecutan con los mismos privilegios que la aplicación. Si se explota un componente vulnerable, dicho ataque puede facilitar la pérdida de datos o la toma de control del servidor. Las aplicaciones y API que utilizan componentes con vulnerabilidades conocidas pueden socavar las defensas de las aplicaciones y permitir varios ataques e impactos negativos al rendimiento.

Leer también  Comprendiendo Log4Shell: Guía sobre la Vulnerabilidad de Log4j CVE-2021-44228

Registro y Monitorización Insuficientes

El registro y la supervisión insuficientes, junto con una integración faltante o ineficaz con la respuesta a incidentes, permiten a los atacantes atacar aún más los sistemas, mantener la persistencia, cambiar a más sistemas y manipular, extraer o destruir datos. La mayoría de los estudios de infracciones muestran que el tiempo para detectar una infracción es de más de 200 días, generalmente detectados por partes externas en lugar de procesos internos o monitoreo.

Para ayudar a detectar todos estos tipos de errores, OWASP ofrece una herramienta de detección gratuita llamada ZAP Proxy (Zed Attack Proxy). Definitivamente recomendamos usar la herramienta owaspzap, ya que es una de las mejores aplicaciones de herramientas gratuitas disponibles y tiene el sello de garantía de owasp.

Referencias:

https://owasp.org/

https://www.zaproxy.org/