From 7c8e72494d6482e38f637d5771b810b48fde90e2 Mon Sep 17 00:00:00 2001 From: Moises Eloy Hernando Ruiz Diaz Date: Wed, 3 Nov 2021 22:30:54 -0300 Subject: [PATCH 1/3] Spanish translation --- 2021/docs/A03_2021-Injection.es.md | 186 ++++++++++++----------------- 1 file changed, 78 insertions(+), 108 deletions(-) diff --git a/2021/docs/A03_2021-Injection.es.md b/2021/docs/A03_2021-Injection.es.md index 6008da316..a907a9ec5 100644 --- a/2021/docs/A03_2021-Injection.es.md +++ b/2021/docs/A03_2021-Injection.es.md @@ -1,186 +1,156 @@ -# A03:2021 – Injection ![icon](assets/TOP_10_Icons_Final_Injection.png){: style="height:80px;width:80px" align="right"} +# A03:2021 – Inyección ![icon](assets/TOP_10_Icons_Final_Injection.png) -## Factors +## Factores -| CWEs Mapped | Max Incidence Rate | Avg Incidence Rate | Avg Weighted Exploit | Avg Weighted Impact | Max Coverage | Avg Coverage | Total Occurrences | Total CVEs | +| CWEs Mapeados | Tasa de Incidencia Máxima | Tasa de Incidencia Promeedia | Explotación Ponderada Promedio | Impacto Ponderado Promedio | Covertura Màxima | Coverturra Promedia | Incidencias Totales| CVEs Totales | |:-------------:|:--------------------:|:--------------------:|:--------------:|:--------------:|:----------------------:|:---------------------:|:-------------------:|:------------:| | 33 | 19.09% | 3.37% | 7.25 | 7.15 | 94.04% | 47.90% | 274,228 | 32,078 | -## Overview +## Vision General -Injection slides down to the third position. 94% of the applications -were tested for some form of injection with a max incidence rate of 19%, an average incidence rate of 3%, and 274k occurances. Notable Common Weakness Enumerations (CWEs) included are -*CWE-79: Cross-site Scripting*, *CWE-89: SQL Injection*, and *CWE-73: -External Control of File Name or Path*. +la Inyección se desliza hasta la tercera posicion. El 94% de las aplicaciones fueron probadas sobre alguna forma de inyeccón con una tasa de incidencia máxima del 19%, una tasa de incidencia promedio del 3% y 274 mil ocurrencias. Los CWE notables incluidos son *CWE-79: Cross-site Scripting*, *CWE-89: SQL Injection*, y la *CWE-73:Control Externo de Nombre de archivos o ruta*. -## Description +## Descripción -An application is vulnerable to attack when: +Una aplicación es vulnerable a este ataque cuando: -- User-supplied data is not validated, filtered, or sanitized by the - application. +- Los datos proporcionados por el usuario no son validados, filtrados ni sanitizados por la aplicación. -- Dynamic queries or non-parameterized calls without context-aware - escaping are used directly in the interpreter. +- Se invocan consultas dinámicas o no parametrizadas, sin codificar los parámetros de forma acorde al contexto. -- Hostile data is used within object-relational mapping (ORM) search - parameters to extract additional, sensitive records. +- Se utilizan datos dañinos dentro de los parámetros de búsqueda en consultas Object-Relational Mapping (ORM), para extraer registros adicionales sensibles. -- Hostile data is directly used or concatenated. The SQL or command - contains the structure and malicious data in dynamic queries, - commands, or stored procedures. +- Los datos dañinos se usan directamente o se concatenan, de modo que el SQL o comando resultante contiene datos y estructuras con consultas dinámicas, comandos o procedimientos almacenados. -Some of the more common injections are SQL, NoSQL, OS command, Object -Relational Mapping (ORM), LDAP, and Expression Language (EL) or Object -Graph Navigation Library (OGNL) injection. The concept is identical -among all interpreters. Source code review is the best method of -detecting if applications are vulnerable to injections. Automated -testing of all parameters, headers, URL, cookies, JSON, SOAP, and XML -data inputs is strongly encouraged. Organizations can include -static (SAST), dynamic (DAST), and interactive (IAST) application security testing tools into the CI/CD -pipeline to identify introduced injection flaws before production -deployment. +Algunas de las inyecciones más comunes son SQL, NoSQL,comandos de SO, Object-Relational Mapping (ORM), LDAP, +expresiones de lenguaje u Object Graph Navigation Library (OGNL). +El concepto es idéntico entre todos los intérpretes. La revisión del código fuente es el mejor método para detectar si las aplicaciones son vulnerables a inyecciones, seguido de cerca por pruebas automatizadas de todos los parámetros, encabezados, URL, cookies,JSON, SOAP y entradas de datos XML. -## How to Prevent +Las organizaciones pueden incluir herramientas de análisis estático (SAST) y pruebas dinámicas (DAST) para identificar errores de inyecciones recientemente introducidas y antes del despliegue de la aplicación en producción. -Preventing injection requires keeping data separate from commands and queries: +## Cómo prevenir -- The preferred option is to use a safe API, which avoids using the - interpreter entirely, provides a parameterized interface, or - migrates to Object Relational Mapping Tools (ORMs).
- **Note:** Even when parameterized, stored procedures can still introduce - SQL injection if PL/SQL or T-SQL concatenates queries and data or - executes hostile data with EXECUTE IMMEDIATE or exec(). +Para prevenir inyecciones, se requiere separar los datos de los comandos y las consultas. -- Use positive or "whitelist" server-side input validation. This is - not a complete defense as many applications require special - characters, such as text areas or APIs for mobile applications. +- La opción preferida es utilizar una API segura, que evite el uso de un intérprete por completo y proporcione una interfaz parametrizada. Se debe migrar y utilizar una herramientas de Mapeo Relacional de Objetos (ORMs).
+ **Nota:** : Incluso cuando se parametrizan, los procedimientos almacenados pueden introducir una inyección SQL si el procedimiento PL/SQL o T-SQL concatena consultas y datos, o se ejecutan parámetros utilizando EXECUTE IMMEDIATE o exec(). -- For any residual dynamic queries, escape special characters using - the specific escape syntax for that interpreter.
- **Note:** SQL structures such as table names, column names, and so on - cannot be escaped, and thus user-supplied structure names are - dangerous. This is a common issue in report-writing software. +- Realice validaciones de entradas de datos en el servidor,utilizando "listas blancas". De todos modos, esto no es una defensa completa ya que muchas aplicaciones requieren el uso de caracteres especiales, como en campos de texto, APIs o aplicaciones móviles. -- Use LIMIT and other SQL controls within queries to prevent mass - disclosure of records in case of SQL injection. +- Para cualquier consulta dinámica residual, escape caracteres especiales utilizando la sintaxis de caracteres específica para el intérprete que se trate.
+ **Nota:** La estructura de SQL como nombres de tabla, nombres de columna, etc. no se pueden escapar y, por lo tanto, los nombres de estructura suministrados por el usuario son peligrosos. Este es un problema común en el software de redacción de informes. -## Example Attack Scenarios +- Utilice LIMIT y otros controles SQL dentro de las consultas para evitar la fuga masiva de registros en caso de inyección SQL. -**Scenario #1:** An application uses untrusted data in the construction -of the following vulnerable SQL call: +## Ejemplos de escenarios de ataque + +**Escenario #1:** Una aplicación usa datos no confiables en la construcción de la siguiente llamada SQL vulnerable: ``` String query = "SELECT \* FROM accounts WHERE custID='" + request.getParameter("id") + "'"; ``` -**Scenario #2:** Similarly, an application’s blind trust in frameworks -may result in queries that are still vulnerable, (e.g., Hibernate Query +**Escenario #2:** Del mismo modo, la confianza total de una aplicación en su framework +puede resultar en consultas que aún son vulneables a inyeccón, (por ejemplo: Hibernate Query Language (HQL)): ``` Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'"); ``` -In both cases, the attacker modifies the ‘id’ parameter value in their -browser to send: ‘ or ‘1’=’1. For example: +En ambos casos, el atacante modifica el valor del parámetro "id" en su navegador para enviar: ‘ or ‘1’=’1. Por ejemplo: ``` http://example.com/app/accountView?id=' or '1'='1 ``` -This changes the meaning of both queries to return all the records from -the accounts table. More dangerous attacks could modify or delete data -or even invoke stored procedures. +Esto cambia el significado de ambas consultas, devolviendo +todos los registros de la tabla “accounts”. Ataques más +peligrosos podrían modificar los datos o incluso invocar +procedimientos almacenados. -## References +## Referencias -- [OWASP Proactive Controls: Secure Database Access](https://owasp.org/www-project-proactive-controls/v3/en/c3-secure-database) +- [OWASP Controles Proavtivos: Acceso Seguro a la Base de Datos](https://owasp.org/www-project-proactive-controls/v3/en/c3-secure-database) -- [OWASP ASVS: V5 Input Validation and Encoding](https://owasp.org/www-project-application-security-verification-standard) +- [OWASP ASVS: Validación y codificación de entrada V5](https://owasp.org/www-project-application-security-verification-standard) -- [OWASP Testing Guide: SQL Injection,](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05-Testing_for_SQL_Injection) [Command Injection](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/12-Testing_for_Command_Injection), - and [ORM Injection](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05.7-Testing_for_ORM_Injection) +- [OWASP Guia de prueba: Inyección SQL,](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05-Testing_for_SQL_Injection) [Inyeccón de comandos](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/12-Testing_for_Command_Injection), + [Inyección ORM](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05.7-Testing_for_ORM_Injection) -- [OWASP Cheat Sheet: Injection Prevention](https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet.html) +- [OWASP Cheat Sheet: Prevención de Inyecciones](https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet.html) -- [OWASP Cheat Sheet: SQL Injection Prevention](https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html) +- [OWASP Cheat Sheet: Prevención de Inyeccón SQL](https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html) -- [OWASP Cheat Sheet: Injection Prevention in Java](https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet_in_Java.html) +- [OWASP Cheat Sheet: Prevención de Inyecciones en Java](https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet_in_Java.html) -- [OWASP Cheat Sheet: Query Parameterization](https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html) +- [OWASP Cheat Sheet: Parametrización de consultas](https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html) -- [OWASP Automated Threats to Web Applications – OAT-014](https://owasp.org/www-project-automated-threats-to-web-applications/) +- [OWASP Amenazas automatizadas para aplicaciones web – OAT-014](https://owasp.org/www-project-automated-threats-to-web-applications/) -- [PortSwigger: Server-side template injection](https://portswigger.net/kb/issues/00101080_serversidetemplateinjection) +- [PortSwigger: Inyeccón de plantilla del lado del servidor](https://portswigger.net/kb/issues/00101080_serversidetemplateinjection) -## List of Mapped CWEs +## Lista de CWEs mapeadas -[CWE-20 Improper Input Validation](https://cwe.mitre.org/data/definitions/20.html) +[CWE-20 Validación de entrada incorrecta](https://cwe.mitre.org/data/definitions/20.html) -[CWE-74 Improper Neutralization of Special Elements in Output Used by a -Downstream Component ('Injection')](https://cwe.mitre.org/data/definitions/74.html) +[CWE-74 Neutralización incorrecta de elementos especiales en la salida utilizada por un Componente descendente ('Inyección')](https://cwe.mitre.org/data/definitions/74.html) -[CWE-75 Failure to Sanitize Special Elements into a Different Plane -(Special Element Injection)](https://cwe.mitre.org/data/definitions/75.html) +[CWE-75 No desinfectar elementos especiales en un plano diferente (Inyección de elementos especiales)](https://cwe.mitre.org/data/definitions/75.html) -[CWE-77 Improper Neutralization of Special Elements used in a Command -('Command Injection')](https://cwe.mitre.org/data/definitions/77.html) +[CWE-77 Neutralización incorrecta de elementos especiales utilizados en un comando ('Inyección de comandos')](https://cwe.mitre.org/data/definitions/77.html) -[CWE-78 Improper Neutralization of Special Elements used in an OS Command -('OS Command Injection')](https://cwe.mitre.org/data/definitions/78.html) +[CWE-78 Neutralización incorrecta de elementos especiales utilizados en un comando del sistema operativo ('Inyección de comandos del sistema operativo')](https://cwe.mitre.org/data/definitions/78.html) -[CWE-79 Improper Neutralization of Input During Web Page Generation -('Cross-site Scripting')](https://cwe.mitre.org/data/definitions/79.html) +[CWE-79 Neutralización incorrecta de la entrada durante la generación de la página web ('Cross-site Scripting')](https://cwe.mitre.org/data/definitions/79.html) -[CWE-80 Improper Neutralization of Script-Related HTML Tags in a Web Page -(Basic XSS)](https://cwe.mitre.org/data/definitions/80.html) +[CWE-80 Neutralización incorrecta de etiquetas HTML relacionadas con secuencias de comandos en una página web (XSS básico)](https://cwe.mitre.org/data/definitions/80.html) -[CWE-83 Improper Neutralization of Script in Attributes in a Web Page](https://cwe.mitre.org/data/definitions/83.html) +[CWE-83 Neutralización incorrecta de secuencias de comandos en atributos en una página web](https://cwe.mitre.org/data/definitions/83.html) -[CWE-87 Improper Neutralization of Alternate XSS Syntax](https://cwe.mitre.org/data/definitions/87.html) +[CWE-87 Neutralización incorrecta de la sintaxis XSS alternativa](https://cwe.mitre.org/data/definitions/87.html) -[CWE-88 Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')](https://cwe.mitre.org/data/definitions/88.html) +[CWE-88 Neutralización inadecuada de los delimitadores de argumentos en un comando ('Inyección de argumentos')](https://cwe.mitre.org/data/definitions/88.html) -[CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')](https://cwe.mitre.org/data/definitions/89.html) +[CWE-89 Neutralización incorrecta de elementos especiales utilizados en un comando SQL ('Inyección SQL')](https://cwe.mitre.org/data/definitions/89.html) -[CWE-90 Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection')](https://cwe.mitre.org/data/definitions/90.html) +[CWE-90 Neutralización incorrecta de elementos especiales utilizados en una consulta LDAP ('Inyección LDAP')](https://cwe.mitre.org/data/definitions/90.html) -[CWE-91 XML Injection (aka Blind XPath Injection)](https://cwe.mitre.org/data/definitions/91.html) +[CWE-91 XML Injection (también conocido como Blind XPath Injection)](https://cwe.mitre.org/data/definitions/91.html) -[CWE-93 Improper Neutralization of CRLF Sequences ('CRLF Injection')](https://cwe.mitre.org/data/definitions/93.html) +[CWE-93 Neutralización incorrecta de secuencias CRLF ('Inyección CRLF')](https://cwe.mitre.org/data/definitions/93.html) -[CWE-94 Improper Control of Generation of Code ('Code Injection')](https://cwe.mitre.org/data/definitions/94.html) +[CWE-94 Control inadecuado de la generación de código ('Inyección de código')](https://cwe.mitre.org/data/definitions/94.html) -[CWE-95 Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')](https://cwe.mitre.org/data/definitions/95.html) +[CWE-95 Neutralización incorrecta de directivas en código evaluado dinámicamente ('Inyección de evaluación')](https://cwe.mitre.org/data/definitions/95.html) -[CWE-96 Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection')](https://cwe.mitre.org/data/definitions/96.html) +[CWE-96 Neutralización incorrecta de directivas en código guardado estáticamente ('Inyección de código estático')](https://cwe.mitre.org/data/definitions/96.html) -[CWE-97 Improper Neutralization of Server-Side Includes (SSI) Within a Web Page](https://cwe.mitre.org/data/definitions/97.html) +[CWE-97 Neutralización incorrecta de las inclusiones del lado del servidor (SSI) dentro de una página web](https://cwe.mitre.org/data/definitions/97.html) -[CWE-98 Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')](https://cwe.mitre.org/data/definitions/98.html) +[CWE-98 Control incorrecto del nombre de archivo para la declaración Incluir / Requerir en el programa PHP ('Inclusión remota de archivos PHP')](https://cwe.mitre.org/data/definitions/98.html) -[CWE-99 Improper Control of Resource Identifiers ('Resource Injection')](https://cwe.mitre.org/data/definitions/99.html) +[CWE-99 Control inadecuado de identificadores de recursos ('Inyección de recursos')](https://cwe.mitre.org/data/definitions/99.html) -[CWE-100 Deprecated: Was catch-all for input validation issues](https://cwe.mitre.org/data/definitions/100.html) +[CWE-100 En desuso: era general para problemas de validación de entrada](https://cwe.mitre.org/data/definitions/100.html) -[CWE-113 Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting')](https://cwe.mitre.org/data/definitions/113.html) +[CWE-113 Neutralización incorrecta de secuencias CRLF en encabezados HTTP ('División de respuesta HTTP')](https://cwe.mitre.org/data/definitions/113.html) -[CWE-116 Improper Encoding or Escaping of Output](https://cwe.mitre.org/data/definitions/116.html) +[CWE-116 Codificación incorrecta o escape de salida](https://cwe.mitre.org/data/definitions/116.html) -[CWE-138 Improper Neutralization of Special Elements](https://cwe.mitre.org/data/definitions/138.html) +[CWE-138 Neutralización inadecuada de elementos especiales](https://cwe.mitre.org/data/definitions/138.html) -[CWE-184 Incomplete List of Disallowed Inputs](https://cwe.mitre.org/data/definitions/184.html) +[CWE-184 Lista incompleta de entradas no permitidas](https://cwe.mitre.org/data/definitions/184.html) -[CWE-470 Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')](https://cwe.mitre.org/data/definitions/470.html) +[CWE-470 Uso de entrada controlada externamente para seleccionar clases o código ('Reflexión insegura')](https://cwe.mitre.org/data/definitions/470.html) -[CWE-471 Modification of Assumed-Immutable Data (MAID)](https://cwe.mitre.org/data/definitions/471.html) +[CWE-471 Modificación de datos supuestos-inmutables (MAID)](https://cwe.mitre.org/data/definitions/471.html) -[CWE-564 SQL Injection: Hibernate](https://cwe.mitre.org/data/definitions/564.html) +[Inyección SQL CWE-564: Hibernate](https://cwe.mitre.org/data/definitions/564.html) -[CWE-610 Externally Controlled Reference to a Resource in Another Sphere](https://cwe.mitre.org/data/definitions/610.html) +[CWE-610 Referencia controlada externamente a un recurso en otra esfera](https://cwe.mitre.org/data/definitions/610.html) -[CWE-643 Improper Neutralization of Data within XPath Expressions ('XPath Injection')](https://cwe.mitre.org/data/definitions/643.html) +[CWE-643 Neutralización incorrecta de datos dentro de expresiones XPath ('Inyección XPath')](https://cwe.mitre.org/data/definitions/643.html) -[CWE-644 Improper Neutralization of HTTP Headers for Scripting Syntax](https://cwe.mitre.org/data/definitions/644.html) +[CWE-644 Neutralización incorrecta de encabezados HTTP para sintaxis de secuencias de comandos](https://cwe.mitre.org/data/definitions/644.html) -[CWE-652 Improper Neutralization of Data within XQuery Expressions ('XQuery Injection')](https://cwe.mitre.org/data/definitions/652.html) +[CWE-652 Neutralización incorrecta de datos dentro de expresiones XQuery ('Inyección XQuery')](https://cwe.mitre.org/data/definitions/652.html) -[CWE-917 Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')] (https://cwe.mitre.org/data/definitions/917.html) +[CWE-917 Neutralización inadecuada de elementos especiales utilizados en una declaración de lenguaje de expresión ('Inyección de lenguaje de expresión')](https://cwe.mitre.org/data/definitions/917.html) \ No newline at end of file From c91bbf3bc393cb9c27c3d1c3c1b48d8568c0b94d Mon Sep 17 00:00:00 2001 From: Moises Eloy Hernando Ruiz Diaz Date: Wed, 3 Nov 2021 23:27:52 -0300 Subject: [PATCH 2/3] Spanish translation A04 --- 2021/docs/A04_2021-Insecure_Design.es.md | 176 +++++++++++------------ 1 file changed, 80 insertions(+), 96 deletions(-) diff --git a/2021/docs/A04_2021-Insecure_Design.es.md b/2021/docs/A04_2021-Insecure_Design.es.md index 28b894a93..b4fdc1747 100644 --- a/2021/docs/A04_2021-Insecure_Design.es.md +++ b/2021/docs/A04_2021-Insecure_Design.es.md @@ -1,174 +1,158 @@ -# A04:2021 – Insecure Design ![icon](assets/TOP_10_Icons_Final_Insecure_Design.png){: style="height:80px;width:80px" align="right"} +# A04:2021 – Diseño Inseguro ![icon](assets/TOP_10_Icons_Final_Insecure_Design.png) -## Factors +## Factores -| CWEs Mapped | Max Incidence Rate | Avg Incidence Rate | Avg Weighted Exploit | Avg Weighted Impact | Max Coverage | Avg Coverage | Total Occurrences | Total CVEs | +| CWEs Mapeados | Tasa de Incidencia Máxima | Tasa de Incidencia Promeedia | Explotación Ponderada Promedio | Impacto Ponderado Promedio | Covertura Màxima | Coverturra Promedia | Incidencias Totales| CVEs Totales | |:-------------:|:--------------------:|:--------------------:|:--------------:|:--------------:|:----------------------:|:---------------------:|:-------------------:|:------------:| | 40 | 24.19% | 3.00% | 6.46 | 6.78 | 77.25% | 42.51% | 262,407 | 2,691 | -## Overview +## Resumen -A new category for 2021 focuses on risks related to design and architectural flaws, with a call for more use of threat modeling, secure design patterns, and reference architectures. As a community we need to move beyond "shift-left" in the coding space to pre-code activities that are critical for the principles of Secure by Design. Notable Common Weakness Enumerations (CWEs) include *CWE-209: Generation of Error Message Containing Sensitive Information*, *CWE-256: Unprotected Storage of Credentials*, *CWE-501: Trust Boundary Violation*, and *CWE-522: Insufficiently Protected Credentials*. +Una nueva categoría para 2021 se centra en los riesgos relacionados con el diseño y las fallas arquitectónicas, con un llamado a un mayor uso del modelado de amenazas, patrones de diseño seguros y arquitecturas de referencia. Como comunidad, debemos ir más allá del "desplazamiento a la izquierda" en el espacio de codificación para precodificar actividades que son críticas para los principios de Secure by Design. NLos CWE notables incluidos son *CWE-209: Generación de mensaje de error que contiene información confidencial*, *CWE-256: Almacenamiento desprotegido de credenciales*, *CWE-501: Infracción de límites de confianza* y *CWE-522: Insuficiente Credenciales protegidas*. -## Description +## Descripción -Insecure design is a broad category representing different weaknesses, expressed as “missing or ineffective control design.” Insecure design is not the source for all other Top 10 risk categories. There is a difference between insecure design and insecure implementation. We differentiate between design flaws and implementation defects for a reason, they have different root causes and remediation. A secure design can still have implementation defects leading to vulnerabilities that may be exploited. An insecure design cannot be fixed by a perfect implementation as by definition, needed security controls were never created to defend against specific attacks. One of the factors that contribute to insecure design is the lack of business risk profiling inherent in the software or system being developed, and thus the failure to determine what level of security design is required. +El diseño inseguro es una categoría amplia que representa diferentes debilidades, expresadas como "diseño de control faltante o ineficaz". El diseño inseguro no es la fuente de todas las otras 10 categorías de riesgo principales. Existe una diferencia entre un diseño inseguro y una implementación insegura. Distinguimos entre fallas de diseño y defectos de implementación por una razón, tienen diferentes causas y soluciones. Un diseño seguro aún puede tener defectos de implementación que conduzcan a vulnerabilidades que pueden explotarse. Un diseño inseguro no se puede arreglar con una implementación perfecta ya que, por definición, los controles de seguridad necesarios nunca se crearon para defenderse de ataques específicos. Uno de los factores que contribuyen al diseño inseguro es la falta de perfiles de riesgo empresarial inherentes al software o sistema que se está desarrollando y, por lo tanto, la falta de determinación del nivel de diseño de seguridad que se requiere. -### Requirements and Resource Management +### Gestión de requerimientos y recursos -Collect and negotiate the business requirements for an application with the business, including the protection requirements concerning confidentiality, integrity, availability, and authenticity of all data assets and the expected business logic. Take into account how exposed your application will be and if you need segregation of tenants (additionally to access control). Compile the technical requirements, including functional and non-functional security requirements. Plan and negotiate the budget covering all design, build, testing, and operation, including security activities. +Recopile y negocie los requerimientos comerciales para una aplicación con la empresa, incluidos los requisitos de protección relacionados con la confidencialidad, integridad, disponibilidad y autenticidad de todos los activos de datos y la lógica de negocio esperada. Tenga en cuenta qué tan expuesta estará su aplicación y si necesita segregación de tenants (además del control de acceso). Compile los requisitos técnicos, incluidos los requerimientos de seguridad funcionales y no funcionales. Planifique y negocie el presupuesto que cubra todo el diseño, construcción, prueba y operación, incluidas las actividades de seguridad. ### Secure Design Secure design is a culture and methodology that constantly evaluates threats and ensures that code is robustly designed and tested to prevent known attack methods. Threat modeling should be integrated into refinement sessions (or similar activities); look for changes in data flows and access control or other security controls. In the user story development determine the correct flow and failure states, ensure they are well understood and agreed upon by responsible and impacted parties. Analyze assumptions and conditions for expected and failure flows, ensure they are still accurate and desirable. Determine how to validate the assumptions and enforce conditions needed for proper behaviors. Ensure the results are documented in the user story. Learn from mistakes and offer positive incentives to promote improvements. Secure design is neither an add-on nor a tool that you can add to software. -### Secure Development Lifecycle +### Ciclo de Vida de Desarrollo Seguro (S-SDLC) -Secure software requires a secure development lifecycle, some form of secure design pattern, paved road methodology, secured component library, tooling, and threat modeling. Reach out for your security specialists at the beginning of a software project throughout the whole project and maintenance of your software. Consider leveraging the [OWASP Software Assurance Maturity Model (SAMM)](https://owaspsamm.org) to help structure your secure software development efforts. +El software seguro requiere un ciclo de vida de desarrollo seguro, alguna forma de patrón de diseño seguro, metodologías "Paved Road", biblioteca de componentes seguros, herramientas y modelado de amenazas. Comuníquese con sus especialistas en seguridad al comienzo de un proyecto de software durante todo el proyecto y el mantenimiento de su software. Considere aprovechar el [Modelo de madurez de garantía de software de OWASP (SAMM)](https://owaspsamm.org) para ayudar a estructurar sus esfuerzos de desarrollo de software seguro. -## How to Prevent +## Cómo prevenir -- Establish and use a secure development lifecycle with AppSec - professionals to help evaluate and design security and - privacy-related controls +- Establezca y use un ciclo de vida de desarrollo seguro con Aplicaciones de Seguridad profesionales para ayudar a evaluar y diseñar la seguridad y controles relacionados con la privacidad. -- Establish and use a library of secure design patterns or paved road - ready to use components +- Establecer y utilizar una biblioteca de patrones de diseño seguros o componentes de "Paved Road" -- Use threat modeling for critical authentication, access control, - business logic, and key flows +- Utilice el modelado de amenazas para autenticación crítica, control de acceso, lógica empresarial y flujos clave. -- Integrate security language and controls into user stories +- Integre el lenguaje y los controles de seguridad en las "historias de usuario". -- Integrate plausibility checks at each tier of your application - (from frontend to backend) +- Integre verificaciones de plausibilidad en cada nivel de su aplicación (de frontend a backend) -- Write unit and integration tests to validate that all critical flows - are resistant to the threat model. Compile use-cases *and* misuse-cases - for each tier of your application. +- Escribir pruebas de integración y pruebas unitarias para validar que todos los flujos críticos son resistentes al modelo de amenazas. Compilar casos de uso *y* casos de uso indebido para cada nivel de su aplicación. -- Segregate tier layers on the system and network layers depending on the - exposure and protection needs +- Separe las capas de niveles en el sistema y las capas de red según las necesidades de exposición y protección. -- Segregate tenants robustly by design throughout all tiers +- Separe a los tenants de manera robusta por diseño en todos los niveles. -- Limit resource consumption by user or service +- Limitar el consumo de recursos por usuario o servicio. -## Example Attack Scenarios +## Ejemplos de Escenarios de Ataque -**Scenario #1:** A credential recovery workflow might include “questions -and answers,” which is prohibited by NIST 800-63b, the OWASP ASVS, and -the OWASP Top 10. Questions and answers cannot be trusted as evidence of -identity as more than one person can know the answers, which is why they -are prohibited. Such code should be removed and replaced with a more -secure design. +**Escenario N° 1:** -**Scenario #2:** A cinema chain allows group booking discounts and has a -maximum of fifteen attendees before requiring a deposit. Attackers could -threat model this flow and test if they could book six hundred seats and -all cinemas at once in a few requests, causing a massive loss of income. +Un flujo de trabajo de recuperación de credenciales puede incluir "preguntas y respuestas", lo cual está prohibido por NIST 800-63b, OWASP ASVS y OWASP Top 10. No se puede confiar en preguntas y respuestas como evidencia de identidad como más de una persona puede conocer las respuestas, por lo que están prohibidas. Dicho código debe eliminarse y reemplazarse por un diseño más seguro. -**Scenario #3:** A retail chain’s e-commerce website does not have -protection against bots run by scalpers buying high-end video cards to -resell auction websites. This creates terrible publicity for the video -card makers and retail chain owners and enduring bad blood with -enthusiasts who cannot obtain these cards at any price. Careful anti-bot -design and domain logic rules, such as purchases made within a few -seconds of availability, might identify inauthentic purchases and -rejected such transactions. +**Escenario N° 2:** -## References +Una cadena de cines permite descuentos en la reserva de grupos y tiene un máximo de quince asistentes antes de solicitar un depósito. Los atacantes podrían modelar este flujo y probar si podían reservar seiscientos asientos y todos los cines a la vez en unas pocas solicitudes, lo que provocaría una pérdida masiva de ingresos. -- [OWASP Cheat Sheet: Secure Design Principles](Coming Soon) +**Escenario N° 3:** -- [OWASP SAMM: Design:Security Architecture](https://owaspsamm.org/model/design/security-architecture/) +El sitio web de comercio electrónico de una cadena minorista no tiene protección contra bots administrados por revendedores que compran tarjetas de video de alta gama para revender sitios web de subastas. Esto crea una publicidad terrible para los fabricantes de tarjetas de video y los propietarios de cadenas minoristas y una mala sangre duradera con +entusiastas que no pueden obtener estas tarjetas a ningún precio. El diseño cuidadoso de anti-bot y las reglas de lógica de dominio, como las compras realizadas a los pocos segundos de disponibilidad, pueden identificar compras no auténticas y rechazar dichas transacciones. -- [OWASP SAMM: Design:Threat Assessment](https://owaspsamm.org/model/design/threat-assessment/) +## Referencias -- [NIST – Guidelines on Minimum Standards for Developer Verification of Software](https://www.nist.gov/system/files/documents/2021/07/13/Developer%20Verification%20of%20Software.pdf) +- Hoja de referencia de OWASP: Principios de diseño seguro (Próximamente) -- [The Threat Modeling Manifesto](https://threatmodelingmanifesto.org) +- [OWASP SAMM: Diseño: Arquitectura de seguridad](https://owaspsamm.org/model/design/security-architecture/) -- [Awesome Threat Modeling](https://github.com/hysnsec/awesome-threat-modelling) +- [OWASP SAMM: Diseño: Evaluación de amenazas](https://owaspsamm.org/model/design/threat-assessment/) -## List of Mapped CWEs +- [NIST - Directrices sobre estándares mínimos para la verificación de software por parte de desarrolladores](https://www.nist.gov/system/files/documents/2021/07/13/Developer%20Verification%20of%20Software.pdf) -[CWE-73 External Control of File Name or Path](https://cwe.mitre.org/data/definitions/73.html) +- [El manifiesto de modelado de amenazas](https://threatmodelingmanifesto.org) -[CWE-183 Permissive List of Allowed Inputs](https://cwe.mitre.org/data/definitions/183.html) +- [Increíble modelado de amenazas](https://github.com/hysnsec/awesome-threat-modelling) -[CWE-209 Generation of Error Message Containing Sensitive Information](https://cwe.mitre.org/data/definitions/209.html) +## Lista de CWE mapeadas -[CWE-213 Exposure of Sensitive Information Due to Incompatible Policies](https://cwe.mitre.org/data/definitions/213.html) +[CWE-73 Control externo de nombre de archivo o ruta](https://cwe.mitre.org/data/definitions/73.html) -[CWE-235 Improper Handling of Extra Parameters](https://cwe.mitre.org/data/definitions/235.html) +[Lista permisiva de entradas permitidas CWE-183](https://cwe.mitre.org/data/definitions/183.html) -[CWE-256 Unprotected Storage of Credentials](https://cwe.mitre.org/data/definitions/256.html) +[CWE-209 Generación de mensaje de error que contiene información confidencial](https://cwe.mitre.org/data/definitions/209.html) -[CWE-257 Storing Passwords in a Recoverable Format](https://cwe.mitre.org/data/definitions/257.html) +[CWE-213 Exposición de información confidencial debido a políticas incompatibles](https://cwe.mitre.org/data/definitions/213.html) -[CWE-266 Incorrect Privilege Assignment](https://cwe.mitre.org/data/definitions/266.html) +[CWE-235 Manejo inadecuado de parámetros adicionales](https://cwe.mitre.org/data/definitions/235.html) -[CWE-269 Improper Privilege Management](https://cwe.mitre.org/data/definitions/269.html) +[Almacenamiento de credenciales sin protección CWE-256](https://cwe.mitre.org/data/definitions/256.html) -[CWE-280 Improper Handling of Insufficient Permissions or Privileges](https://cwe.mitre.org/data/definitions/280.html) +[CWE-257 Almacenamiento de contraseñas en un formato recuperable](https://cwe.mitre.org/data/definitions/257.html) -[CWE-311 Missing Encryption of Sensitive Data](https://cwe.mitre.org/data/definitions/311.html) +[CWE-266 Asignación de privilegios incorrecta](https://cwe.mitre.org/data/definitions/266.html) -[CWE-312 Cleartext Storage of Sensitive Information](https://cwe.mitre.org/data/definitions/312.html) +[CWE-269 Gestión inadecuada de privilegios](https://cwe.mitre.org/data/definitions/269.html) -[CWE-313 Cleartext Storage in a File or on Disk](https://cwe.mitre.org/data/definitions/313.html) +[CWE-280 Manejo inadecuado de permisos o privilegios insuficientes](https://cwe.mitre.org/data/definitions/280.html) -[CWE-316 Cleartext Storage of Sensitive Information in Memory](https://cwe.mitre.org/data/definitions/316.html) +[CWE-311 Falta encriptación de datos confidenciales](https://cwe.mitre.org/data/definitions/311.html) -[CWE-419 Unprotected Primary Channel](https://cwe.mitre.org/data/definitions/419.html) +[CWE-312 Almacenamiento de texto sin cifrar de información confidencial](https://cwe.mitre.org/data/definitions/312.html) -[CWE-430 Deployment of Wrong Handler](https://cwe.mitre.org/data/definitions/430.html) +[CWE-313 Almacenamiento de texto sin cifrar en un archivo o en un disco](https://cwe.mitre.org/data/definitions/313.html) -[CWE-434 Unrestricted Upload of File with Dangerous Type](https://cwe.mitre.org/data/definitions/434.html) +[CWE-316 Almacenamiento de texto sin cifrar de información confidencial en la memoria](https://cwe.mitre.org/data/definitions/316.html) -[CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling')](https://cwe.mitre.org/data/definitions/444.html) +[Canal principal desprotegido CWE-419](https://cwe.mitre.org/data/definitions/419.html) -[CWE-451 User Interface (UI) Misrepresentation of Critical Information](https://cwe.mitre.org/data/definitions/451.html) +[CWE-430 Implementación de un controlador incorrecto](https://cwe.mitre.org/data/definitions/430.html) -[CWE-472 External Control of Assumed-Immutable Web Parameter](https://cwe.mitre.org/data/definitions/472.html) +[CWE-434 Carga sin restricciones de archivo con tipo peligroso](https://cwe.mitre.org/data/definitions/434.html) -[CWE-501 Trust Boundary Violation](https://cwe.mitre.org/data/definitions/501.html) +[CWE-444 Interpretación inconsistente de solicitudes HTTP ('Contrabando de solicitudes HTTP')](https://cwe.mitre.org/data/definitions/444.html) -[CWE-522 Insufficiently Protected Credentials](https://cwe.mitre.org/data/definitions/522.html) +[Interfaz de usuario (UI) CWE-451 Tergiversación de información crítica](https://cwe.mitre.org/data/definitions/451.html) -[CWE-525 Use of Web Browser Cache Containing Sensitive Information](https://cwe.mitre.org/data/definitions/525.html) +[CWE-472 Control externo de parámetro web supuestamente inmutable](https://cwe.mitre.org/data/definitions/472.html) -[CWE-539 Use of Persistent Cookies Containing Sensitive Information](https://cwe.mitre.org/data/definitions/539.html) +[Violación de los límites de confianza de CWE-501](https://cwe.mitre.org/data/definitions/501.html) -[CWE-579 J2EE Bad Practices: Non-serializable Object Stored in Session](https://cwe.mitre.org/data/definitions/579.html) +[CWE-522 Credenciales insuficientemente protegidas](https://cwe.mitre.org/data/definitions/522.html) -[CWE-598 Use of GET Request Method With Sensitive Query Strings](https://cwe.mitre.org/data/definitions/598.html) +[CWE-525 Uso de la caché del navegador web que contiene información confidencial](https://cwe.mitre.org/data/definitions/525.html) -[CWE-602 Client-Side Enforcement of Server-Side Security](https://cwe.mitre.org/data/definitions/602.html) +[CWE-539 Uso de cookies persistentes que contienen información confidencial](https://cwe.mitre.org/data/definitions/539.html) -[CWE-642 External Control of Critical State Data](https://cwe.mitre.org/data/definitions/642.html) +[CWE-579 J2EE Bad Practices: Objeto no serializable almacenado en la sesión](https://cwe.mitre.org/data/definitions/579.html) -[CWE-646 Reliance on File Name or Extension of Externally-Supplied File](https://cwe.mitre.org/data/definitions/646.html) +[CWE-598 Uso del método de solicitud GET con cadenas de consulta sensibles](https://cwe.mitre.org/data/definitions/598.html) -[CWE-650 Trusting HTTP Permission Methods on the Server Side](https://cwe.mitre.org/data/definitions/650.html) +[CWE-602 Cumplimiento de la seguridad del lado del servidor en el lado del cliente](https://cwe.mitre.org/data/definitions/602.html) -[CWE-653 Insufficient Compartmentalization](https://cwe.mitre.org/data/definitions/653.html) +[CWE-642 Control externo de datos de estado crítico](https://cwe.mitre.org/data/definitions/642.html) -[CWE-656 Reliance on Security Through Obscurity](https://cwe.mitre.org/data/definitions/656.html) +[CWE-646 Dependencia del nombre del archivo o la extensión del archivo suministrado externamente](https://cwe.mitre.org/data/definitions/646.html) -[CWE-657 Violation of Secure Design Principles](https://cwe.mitre.org/data/definitions/657.html) +[CWE-650 Confianza en los métodos de permisos HTTP en el lado del servidor](https://cwe.mitre.org/data/definitions/650.html) -[CWE-799 Improper Control of Interaction Frequency](https://cwe.mitre.org/data/definitions/799.html) +[CWE-653 Compartimentación insuficiente](https://cwe.mitre.org/data/definitions/653.html) -[CWE-807 Reliance on Untrusted Inputs in a Security Decision](https://cwe.mitre.org/data/definitions/807.html) +[CWE-656 Confianza en la seguridad a través de la oscuridad](https://cwe.mitre.org/data/definitions/656.html) -[CWE-840 Business Logic Errors](https://cwe.mitre.org/data/definitions/840.html) +[CWE-657 Violación de los principios de diseño seguro](https://cwe.mitre.org/data/definitions/657.html) -[CWE-841 Improper Enforcement of Behavioral Workflow](https://cwe.mitre.org/data/definitions/841.html) +[CWE-799 Control inadecuado de la frecuencia de interacción](https://cwe.mitre.org/data/definitions/799.html) -[CWE-927 Use of Implicit Intent for Sensitive Communication](https://cwe.mitre.org/data/definitions/927.html) +[CWE-807 Dependencia de entradas no confiables en una decisión de seguridad](https://cwe.mitre.org/data/definitions/807.html) -[CWE-1021 Improper Restriction of Rendered UI Layers or Frames](https://cwe.mitre.org/data/definitions/1021.html) +[Errores de lógica empresarial CWE-840](https://cwe.mitre.org/data/definitions/840.html) -[CWE-1173 Improper Use of Validation Framework](https://cwe.mitre.org/data/definitions/1173.html) +[CWE-841 Aplicación inadecuada del flujo de trabajo conductual](https://cwe.mitre.org/data/definitions/841.html) + +[CWE-927 Uso de intención implícita para comunicación sensible](https://cwe.mitre.org/data/definitions/927.html) + +[CWE-1021 Restricción inadecuada de capas o marcos de IU renderizados](https://cwe.mitre.org/data/definitions/1021.html) + +[CWE-1173 Uso inadecuado del marco de validación](https://cwe.mitre.org/data/definitions/1173.html) \ No newline at end of file From 9da55567e6357c223b0c92e54fef78d6e008f672 Mon Sep 17 00:00:00 2001 From: Moises Eloy Hernando Ruiz Diaz Date: Wed, 3 Nov 2021 23:38:34 -0300 Subject: [PATCH 3/3] fix styles problems --- 2021/docs/A00_2021_Introduction.es.md | 4 ++-- 2021/docs/A01_2021-Broken_Access_Control.es.md | 2 +- 2021/docs/A02_2021-Cryptographic_Failures.es.md | 2 +- 2021/docs/A05_2021-Security_Misconfiguration.es.md | 2 +- 2021/docs/A06_2021-Vulnerable_and_Outdated_Components.es.md | 2 +- .../A07_2021-Identification_and_Authentication_Failures.es.md | 2 +- 2021/docs/A08_2021-Software_and_Data_Integrity_Failures.es.md | 2 +- .../A09_2021-Security_Logging_and_Monitoring_Failures.es.md | 2 +- 2021/docs/A10_2021-Server-Side_Request_Forgery_(SSRF).es.md | 2 +- 2021/docs/index.es.md | 4 ++-- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/2021/docs/A00_2021_Introduction.es.md b/2021/docs/A00_2021_Introduction.es.md index febc46709..0753056ae 100644 --- a/2021/docs/A00_2021_Introduction.es.md +++ b/2021/docs/A00_2021_Introduction.es.md @@ -2,7 +2,7 @@ ## Bienvenido al OWASP Top 10 - 2021 -![OWASP Top 10 Logo](./assets/TOP_10_logo_Final_Logo_Colour.png){:class="img-responsive"} +![OWASP Top 10 Logo](./assets/TOP_10_logo_Final_Logo_Colour.png) ¡Bienvenido a la última entrega del OWASP Top 10! El OWASP Top 10 2021 ha sido totalmente renovado, con un nuevo diseño gráfico y una infografía de una sola página que puedes imprimir u obtener desde nuestra pagina web. @@ -112,4 +112,4 @@ Las siguientes organizaciones (junto con algunos donantes anónimos) han tenido El equipo del OWASP Top 10 2021 agradece el apoyo financiero de Secure Code Warrior. -[![Secure Code Warrior](assets/securecodewarrior.png)](https://securecodewarrior.com)] +[![Secure Code Warrior](assets/securecodewarrior.png)](https://securecodewarrior.com) diff --git a/2021/docs/A01_2021-Broken_Access_Control.es.md b/2021/docs/A01_2021-Broken_Access_Control.es.md index 927d91886..dcbb98a9f 100644 --- a/2021/docs/A01_2021-Broken_Access_Control.es.md +++ b/2021/docs/A01_2021-Broken_Access_Control.es.md @@ -1,4 +1,4 @@ -# A01:2021 – Pérdida de Control de Acceso ![icon](assets/TOP_10_Icons_Final_Broken_Access_Control.png){: style="height:80px;width:80px" align="right"} +# A01:2021 – Pérdida de Control de Acceso ![icon](assets/TOP_10_Icons_Final_Broken_Access_Control.png) ## Factores diff --git a/2021/docs/A02_2021-Cryptographic_Failures.es.md b/2021/docs/A02_2021-Cryptographic_Failures.es.md index c41ec3f48..ac7299d41 100644 --- a/2021/docs/A02_2021-Cryptographic_Failures.es.md +++ b/2021/docs/A02_2021-Cryptographic_Failures.es.md @@ -1,4 +1,4 @@ -# A02:2021 – Fallos criptográficos ![icon](assets/TOP_10_Icons_Final_Crypto_Failures.png){: style="height:80px;width:80px" align="right"} +# A02:2021 – Fallos criptográficos ![icon](assets/TOP_10_Icons_Final_Crypto_Failures.png) ## Factores diff --git a/2021/docs/A05_2021-Security_Misconfiguration.es.md b/2021/docs/A05_2021-Security_Misconfiguration.es.md index 72f1facc6..7f2659271 100644 --- a/2021/docs/A05_2021-Security_Misconfiguration.es.md +++ b/2021/docs/A05_2021-Security_Misconfiguration.es.md @@ -1,4 +1,4 @@ -# A05:2021 – Configuración incorrecta de seguridad ![icon](assets/TOP_10_Icons_Final_Security_Misconfiguration.png){: style="height:80px;width:80px" align="right"} +# A05:2021 – Configuración incorrecta de seguridad ![icon](assets/TOP_10_Icons_Final_Security_Misconfiguration.png) ## Factores diff --git a/2021/docs/A06_2021-Vulnerable_and_Outdated_Components.es.md b/2021/docs/A06_2021-Vulnerable_and_Outdated_Components.es.md index 191e15945..6472e4d3d 100644 --- a/2021/docs/A06_2021-Vulnerable_and_Outdated_Components.es.md +++ b/2021/docs/A06_2021-Vulnerable_and_Outdated_Components.es.md @@ -1,4 +1,4 @@ -# A06:2021 – Componentes vulnerables y obsoletos ![icon](assets/TOP_10_Icons_Final_Vulnerable_Outdated_Components.png){: style="height:80px;width:80px" align="right"} +# A06:2021 – Componentes vulnerables y obsoletos ![icon](assets/TOP_10_Icons_Final_Vulnerable_Outdated_Components.png) ## Factores diff --git a/2021/docs/A07_2021-Identification_and_Authentication_Failures.es.md b/2021/docs/A07_2021-Identification_and_Authentication_Failures.es.md index e5170fe86..117b96bc6 100644 --- a/2021/docs/A07_2021-Identification_and_Authentication_Failures.es.md +++ b/2021/docs/A07_2021-Identification_and_Authentication_Failures.es.md @@ -1,4 +1,4 @@ -# A07:2021 – Identification and Authentication Failures ![icon](assets/TOP_10_Icons_Final_Identification_and_Authentication_Failures.png){: style="height:80px;width:80px" align="right"} +# A07:2021 – Identification and Authentication Failures ![icon](assets/TOP_10_Icons_Final_Identification_and_Authentication_Failures.png) ## Factors diff --git a/2021/docs/A08_2021-Software_and_Data_Integrity_Failures.es.md b/2021/docs/A08_2021-Software_and_Data_Integrity_Failures.es.md index 0ea356c6f..116d0d0cf 100644 --- a/2021/docs/A08_2021-Software_and_Data_Integrity_Failures.es.md +++ b/2021/docs/A08_2021-Software_and_Data_Integrity_Failures.es.md @@ -1,4 +1,4 @@ -# A08:2021 – Software and Data Integrity Failures ![icon](assets/TOP_10_Icons_Final_Software_and_Data_Integrity_Failures.png){: style="height:80px;width:80px" align="right"} +# A08:2021 – Software and Data Integrity Failures ![icon](assets/TOP_10_Icons_Final_Software_and_Data_Integrity_Failures.png) ## Factors diff --git a/2021/docs/A09_2021-Security_Logging_and_Monitoring_Failures.es.md b/2021/docs/A09_2021-Security_Logging_and_Monitoring_Failures.es.md index 7980d8d82..a862a68a2 100644 --- a/2021/docs/A09_2021-Security_Logging_and_Monitoring_Failures.es.md +++ b/2021/docs/A09_2021-Security_Logging_and_Monitoring_Failures.es.md @@ -1,4 +1,4 @@ -# A09:2021 – Security Logging and Monitoring Failures ![icon](assets/TOP_10_Icons_Final_Security_Logging_and_Monitoring_Failures.png){: style="height:80px;width:80px" align="right"} +# A09:2021 – Security Logging and Monitoring Failures ![icon](assets/TOP_10_Icons_Final_Security_Logging_and_Monitoring_Failures.png) ## Factors diff --git a/2021/docs/A10_2021-Server-Side_Request_Forgery_(SSRF).es.md b/2021/docs/A10_2021-Server-Side_Request_Forgery_(SSRF).es.md index 095dfa84c..a85944f0f 100644 --- a/2021/docs/A10_2021-Server-Side_Request_Forgery_(SSRF).es.md +++ b/2021/docs/A10_2021-Server-Side_Request_Forgery_(SSRF).es.md @@ -1,4 +1,4 @@ -# A10:2021 – Server-Side Request Forgery (SSRF) ![icon](assets/TOP_10_Icons_Final_SSRF.png){: style="height:80px;width:80px" align="right"} +# A10:2021 – Server-Side Request Forgery (SSRF) ![icon](assets/TOP_10_Icons_Final_SSRF.png) ## Factors diff --git a/2021/docs/index.es.md b/2021/docs/index.es.md index febc46709..0753056ae 100644 --- a/2021/docs/index.es.md +++ b/2021/docs/index.es.md @@ -2,7 +2,7 @@ ## Bienvenido al OWASP Top 10 - 2021 -![OWASP Top 10 Logo](./assets/TOP_10_logo_Final_Logo_Colour.png){:class="img-responsive"} +![OWASP Top 10 Logo](./assets/TOP_10_logo_Final_Logo_Colour.png) ¡Bienvenido a la última entrega del OWASP Top 10! El OWASP Top 10 2021 ha sido totalmente renovado, con un nuevo diseño gráfico y una infografía de una sola página que puedes imprimir u obtener desde nuestra pagina web. @@ -112,4 +112,4 @@ Las siguientes organizaciones (junto con algunos donantes anónimos) han tenido El equipo del OWASP Top 10 2021 agradece el apoyo financiero de Secure Code Warrior. -[![Secure Code Warrior](assets/securecodewarrior.png)](https://securecodewarrior.com)] +[![Secure Code Warrior](assets/securecodewarrior.png)](https://securecodewarrior.com)