# OWASP Top Ten

El **OWASP Top Ten** es una lista de las diez vulnerabilidades más críticas en aplicaciones web, publicada por el **Open Web Application Security Project (OWASP)**. Esta lista sirve como un recurso fundamental para desarrolladores, auditores de seguridad y profesionales de la ciberseguridad para entender y mitigar las amenazas más prevalentes en el desarrollo de aplicaciones web.

## <mark style="color:green;">OWASP Top Ten 2021</mark>

### <mark style="color:green;">**1. Broken Access Control**</mark>

* **Descripción**: La falta de controles de acceso adecuados permite a los usuarios acceder a datos y funcionalidades no autorizadas.
* **Impacto**: Puede llevar a la exposición de información sensible y acciones no autorizadas.
* **Mitigación**: Implementar y validar controles de acceso robustos y realizar revisiones periódicas de los permisos.

### <mark style="color:green;">**2. Cryptographic Failures (Anteriormente "Sensitive Data Exposure")**</mark>

* **Descripción**: Fallos en la protección de datos sensibles debido a una criptografía inapropiada.
* **Impacto**: Puede resultar en la exposición de información crítica como datos financieros y personales.
* **Mitigación**: Utilizar algoritmos criptográficos seguros, implementar HTTPS y asegurar la protección de datos en tránsito y en reposo.

### <mark style="color:green;">**3. Injection**</mark>

* **Descripción**: La inserción de datos no confiables en una consulta o comando, permitiendo la ejecución de código malicioso.
* **Impacto**: Puede resultar en acceso no autorizado a datos, manipulación de datos o incluso control total del servidor.
* **Mitigación**: Validar y sanitizar todas las entradas del usuario, utilizar declaraciones preparadas y consultas parametrizadas.

### <mark style="color:green;">**4. Insecure Design**</mark>

* **Descripción**: Falta de medidas de seguridad integradas en el diseño de la aplicación.
* **Impacto**: Introduce vulnerabilidades desde la fase de diseño que pueden ser difíciles de mitigar más adelante.
* **Mitigación**: Incorporar prácticas de diseño seguro desde el inicio del desarrollo y realizar revisiones de seguridad en todas las fases del ciclo de vida del desarrollo.

### <mark style="color:green;">**5. Security Misconfiguration**</mark>

* **Descripción**: Configuraciones incorrectas de seguridad, como configuraciones predeterminadas inseguras y exposición de servicios innecesarios.
* **Impacto**: Puede llevar a la explotación de vulnerabilidades conocidas y acceso no autorizado.
* **Mitigación**: Revisar y aplicar configuraciones seguras, deshabilitar servicios y funcionalidades no utilizadas y realizar auditorías de configuración regularmente.

### <mark style="color:green;">**6. Vulnerable and Outdated Components**</mark>

* **Descripción**: Uso de componentes de software con vulnerabilidades conocidas.
* **Impacto**: Exposición a vulnerabilidades explotables que pueden comprometer la seguridad de la aplicación.
* **Mitigación**: Mantener componentes y dependencias actualizadas, utilizar herramientas de gestión de vulnerabilidades y monitorear las actualizaciones de seguridad.

### <mark style="color:green;">**7. Identification and Authentication Failures (Anteriormente "Broken Authentication")**</mark>

* **Descripción**: Fallos en la implementación de mecanismos de autenticación y gestión de sesiones.
* **Impacto**: Puede permitir el acceso no autorizado y la suplantación de identidad.
* **Mitigación**: Implementar controles robustos de autenticación y gestión de sesiones, utilizar autenticación multifactor y proteger las credenciales almacenadas.

### <mark style="color:green;">**8. Software and Data Integrity Failures**</mark>

* **Descripción**: Falta de integridad en el software y datos, permitiendo la manipulación no autorizada.
* **Impacto**: Puede llevar a la ejecución de código malicioso y pérdida de integridad de datos.
* **Mitigación**: Utilizar firmas digitales, integridad de archivos y controles de acceso adecuados.

### <mark style="color:green;">**9. Security Logging and Monitoring Failures**</mark>

* **Descripción**: Falta de registros y monitoreo de eventos de seguridad, lo que impide la detección y respuesta a incidentes.
* **Impacto**: Puede resultar en la falta de visibilidad sobre los ataques y retrasos en la respuesta a incidentes.
* **Mitigación**: Implementar logging y monitoreo exhaustivo, asegurar la integridad de los logs y establecer procedimientos de respuesta a incidentes.

### <mark style="color:green;">**10. Server-Side Request Forgery (SSRF)**</mark>

* **Descripción**: Permite a los atacantes hacer solicitudes desde el servidor de la aplicación a otros recursos internos o externos.
* **Impacto**: Puede permitir el acceso no autorizado a recursos internos y la exposición de datos sensibles.
* **Mitigación**: Validar y sanitizar todas las entradas, utilizar listas de control de acceso y restringir el acceso a recursos internos.
