SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
OWASP Top 10 - 2017

The Ten Most Critical Web Application Security Risks 

@SuperSerch
¿Qué es OWASP TOP 10?
• Documento que busca crear conciencia de los problemas de seguridad al
desarrollar sistemas

• Basado en más de 40 aportes de firmas de seguridad y una encuesta a
mas de 500 individuos, que representa información de ~100k
aplicaciones

• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
¿Qué es un riesgo de seguridad?
Cambios 2013 - 2017
A1 - Injection
• Injecciones en SQL, NoSQL, SO, XML y LDAP ocurren cuando datos no
confiables son enviados a un interprete como parte de una instrucción o
consulta. Un atacante puede utilizar estos datos para engañar al
interprete para ejecutar instrucciones arbitrarias o acceder a datos sin
contar con la autorización adecuada

• Pueden usarse para causar perdida de información, divulgar información
clasificada, negación de servicio, desconfianza en los datos, entre otros
A1 - Ejemplo SQL
String query = "SELECT * FROM accounts WHERE custID='" +
request.getParameter("id") + "'";
id = "954' or 'a'='a"
A1 - Ejemplo SQL
String query = "SELECT * FROM accounts WHERE custID='" +
request.getParameter("id") + "'";
PreparedStatement pstmt = conn.preparedStatement(query);
A1 - Ejemplo SQL
String query = "SELECT * FROM accounts WHERE custID=?";
PreparedStatement pstmt = conn.preparedStatement(query);

pstmt.setInt(1, 954)

ResultSet rs = pstmt. executeQuery();
A1 - Ejemplo NoSQL
db.users.find({username: username, password: password});
{

"username": {"$gt": ""},

"password": {"$gt": ""}

}
A1 - Mitigación
• Evitar usar los interpretes, para el caso de SQL equivale a usar queries
parametrizados (preparedStatement)

• Sanitizar las entradas

• https://www.owasp.org/index.php/
OWASP_Java_HTML_Sanitizer_Project

• https://www.owasp.org/index.php/OWASP_JSON_Sanitizer
A2 - Broken Authentication
• Problemas al identificar adecuadamente al usuario, guardar contraseñas
en claro, cifradas o con digestiones de baja seguridad; debilidad en el
manejo de sesión, no evitar ataques de fuerza bruta, exponer los
identificadores de sesión en el URL

• Al impersonar a un usuario o administrador, todo el sistema está
comprometido
A2 - Mitigación
• Usar autenticación de dos factores

• Obligar a rotación de contraseñas con un cierto nivel de complejidad

• Tener timeouts en las sesiones de usuario

• Limitar o contar con retrasos incrementarles tras cada fallo de
autenticación

• Generar un nuevo identificador de sesión al autenticar al usuario, basado
en un buen algoritmo de aleatoriedad que sea seguro y use alta entropia
A3 - Sensitive Data Exposure
• Exponer datos sensibles (financieros, de salud, de identificación personal)
puede facilitar a un atacante realizar otro tipo de daños como robo de
identidad y fraudes crediticios

• Los datos sensibles deberían viajar y almacenarse siempre cifrados, y
tener precauciones extras antes de mostrarlos (reautenticación)

• Las contraseñas se deben almacenar digeridas y con SALT

• GDPR
A4 - XML External Entities (XXE)
• Es posible instruir a procesadores de XML a procesar entidades externas
mediante las cuales es posible hacer una inyección o extraer información

• Cualquier sistema que recibe XML (SOAP, SAML) puede ser vulnerable a
elementos como: <!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
A4 - Mitigación
• Siempre que sea posible usar formatos de datos más simples (JSON,
protobuf)

• Tener actualizados todos los componentes que procesen XML

• Validar lo que se recibe contra una lista blanca de tags aceptados

• Deshabiltar el procesamiento de entidades externas y DTDs en los
procesadores de XML
A5 - Broken Access Control
• No se tienen las restricciones adecuadas de que es lo que un usuario
tiene permitido ver o hacer

• Se pueden realizar acciones no autorizadas, acceder a información de
otros usuarios o incluso alterarla

• http://example.com/app/accountInfo?acct=notmyacct 

• http://example.com/app/getappInfo 

http://example.com/app/admin_getappInfo
A5 - Mitigación
• No permitir acceso a nada, excepto recursos públicos

• Contar con un único mecanismo de acceso y reusarlo en toda la
aplicación

• Limitar el acceso a llamadas a APIs por tiempo

• No pasar datos de identidad como parámetros o URL
A6 - Security Misconfiguration
• Es el resultado de configuraciones inseguras por defecto, configuraciones
incompletas o ad hoc, uso inapropiado de elementos de computo en la
nube, encabezados HTTP mal configurados y mensajes de error que dan
demasiada información al visitante

• No sólo es necesario configurar adecuadamente todos los Sistemas
Operativos, Firewalls, Bibliotecas y Aplicaciones, además se requiere
tenerlos actualizados prontamente
A6 - Mitigación
• Contar con un proceso REPETIBLE de hardening, de preferencia
automatizado

• Instalar lo mínimo necesario 

• Contar con una tarea periodica de monitorear y actualizar los
componentes utilizados por vulnerabilidades conocidas

• Cuando se tienen tenants, contar con la adecuada separación de
servicios, de preferencia en diferentes hosts
A7 - Cross-Site Scripting (XSS)
• Ocurre cuando se permite que datos no confiables se incluyen en una
página web si escaparlos o realizar la validación/sanitización adecuada 

• Un atacante puede ejecutar scripts en el navegador de la víctima, con lo
que puede secuestrar sesiones, alterar sitios web o redireccionar al
usuario a sitios maliciosos

• Tipos: Reflected, Stored & DOM
A7 - Contextos de Ejecución
• Cuerpo del HTML <div><%= request.getParameter("name") %></div>

• Atributos de HTML <input type="text" value="<%= dato %>">

• JavaScript <script> name = <%= nombre %> ; … </script>

• CSS <style> <%= color %>…</style>

• URL <a href="<%= parameter %>">Click</a>
A7 - Mitigación
• Usar frameworks y template engines que automáticamente escapen datos

• Escapar HTML de acuerdo al contexto en que se coloque los datos no
confiables

• Si se requiere recibir html desde una página, validar todos los tags contra
una lista blanca de elementos permitidos

• https://www.owasp.org/index.php/
XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
A8 - Insecure Deserialization
• El proceso de serialización/deserialización es muy complejo, si un
atacante puede alterar el flujo de datos puede alterar información o
ejecutar código al construir objetos con clases existentes

• Se incluyó a solicitud de la comunidad, es muy complejo realizar este tipo
de ataques por lo que existían muy pocos sitios que fueron vulnerados
por deserialización

• *Serialización de Lambdas
A8 - Mitigación
• Agregar checksums de seguridad a los streams de datos

• Asegurar que solo se puedan deserializar un grupo de clases específicas

• Aislar y correr con mínimos privilegios el código que deserializa
A9 - Using Components with Known
Vulnerabilities
• Componentes de software como bibliotecas, frameworks y similares
corren con los mismos privilegios que la aplicación que los contiene, si
estos tienen vulnerabilidades, estas pueden ser muy conocidas y poner
en riesgo la aplicación que los usa

• Struts 2.0 CVE-2017-5638 

• Hearbleed

• Mirai Botnet
A9 - Mitigación
• Quitar dependencias no usadas, componentes innecesarios, ejemplos

• Tener un inventario de todas las dependencias con numero de versión

• Sólo obtener componentes de fuentes confiables

• Monitorear dependencias por si se encuentra una vulnerabilidad en ellas
https://www.owasp.org/index.php/OWASP_Dependency_Check
A10 - Insufficient Logging & Monitoring
• Sin el adecuado monitoreo y registro de eventos, un ataque podría pasar
desapercibido

• logs se guardan sólo de manera local

• No existen logs de eventos auditables como accesos correctos y fallidos,
transacciones de alto valor
A10 - Mitigación
• Asegurar que todas las fallas de acceso, y validación del lado del servidor se
registran con suficiente información de contexto para poder analizarlos

• Usar sistemas de centralización de Logs

• Asegurar que transacciones de alto valor cuenten con un camino auditable
con controles de integridad para evitar alteraciones o borrado de las mismas

• Contar con alertas y monitoreo que reporte las actividades sospechosas
para que se pueda actuar a tiempo

• Contar con un plan de respuesta a incidentes y recuperación de desastres
como NIST 800-61 rev 2
Gracias

Weitere ähnliche Inhalte

Was ist angesagt?

Seguridad web
Seguridad webSeguridad web
Seguridad webcamposer
 
Hackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicasHackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicasSEINHE
 
La seguridad informática en la toma de decisiones v2
La seguridad informática en la toma de decisiones v2La seguridad informática en la toma de decisiones v2
La seguridad informática en la toma de decisiones v2Juan Carlos Carrillo
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Webguest80e1be
 
Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting
 
Owasp top 10 2010 final (spanish)
Owasp top 10   2010 final (spanish)Owasp top 10   2010 final (spanish)
Owasp top 10 2010 final (spanish)Fabio Cerullo
 
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...Internet Security Auditors
 
Webinar Gratuito "Reconocimiento Web"
Webinar Gratuito "Reconocimiento Web"Webinar Gratuito "Reconocimiento Web"
Webinar Gratuito "Reconocimiento Web"Alonso Caballero
 
Seguridad en sitios web
Seguridad en sitios webSeguridad en sitios web
Seguridad en sitios webUTPL
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Andrés Gómez
 
Jessica velázquez rocha
Jessica velázquez rochaJessica velázquez rocha
Jessica velázquez rochajesy09
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuarioCarlos Soriano
 
Owasp top 10_2007_spanish
Owasp top 10_2007_spanishOwasp top 10_2007_spanish
Owasp top 10_2007_spanishTommy Clive
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones webJose Mato
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones WebCarlos Fernandez
 
Pentesting con android - Nipper Toolkit Web Scan
Pentesting con android - Nipper Toolkit Web ScanPentesting con android - Nipper Toolkit Web Scan
Pentesting con android - Nipper Toolkit Web ScanDylan Irzi
 
Seguridad Web
Seguridad WebSeguridad Web
Seguridad Webramos866
 
Seguridad Dispositivos móviles Extened Edition
Seguridad Dispositivos móviles Extened EditionSeguridad Dispositivos móviles Extened Edition
Seguridad Dispositivos móviles Extened EditionJose Manuel Ortega Candel
 
Taller Virtual de Pentesting contra Aplicaciones Web
Taller Virtual de Pentesting contra Aplicaciones WebTaller Virtual de Pentesting contra Aplicaciones Web
Taller Virtual de Pentesting contra Aplicaciones WebAlonso Caballero
 

Was ist angesagt? (20)

Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Hackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicasHackers en los sistemas de las administraciones públicas
Hackers en los sistemas de las administraciones públicas
 
La seguridad informática en la toma de decisiones v2
La seguridad informática en la toma de decisiones v2La seguridad informática en la toma de decisiones v2
La seguridad informática en la toma de decisiones v2
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
 
Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10Argentesting 2017 - Proyecto OWASP Top 10
Argentesting 2017 - Proyecto OWASP Top 10
 
Owasp top 10 2010 final (spanish)
Owasp top 10   2010 final (spanish)Owasp top 10   2010 final (spanish)
Owasp top 10 2010 final (spanish)
 
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
10 riesgos más críticos que deben afrontar las organizaciones sobre sus aplic...
 
Webinar Gratuito "Reconocimiento Web"
Webinar Gratuito "Reconocimiento Web"Webinar Gratuito "Reconocimiento Web"
Webinar Gratuito "Reconocimiento Web"
 
Seguridad en sitios web
Seguridad en sitios webSeguridad en sitios web
Seguridad en sitios web
 
Owasp Top10 Spanish
Owasp Top10 SpanishOwasp Top10 Spanish
Owasp Top10 Spanish
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
Jessica velázquez rocha
Jessica velázquez rochaJessica velázquez rocha
Jessica velázquez rocha
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
 
Owasp top 10_2007_spanish
Owasp top 10_2007_spanishOwasp top 10_2007_spanish
Owasp top 10_2007_spanish
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
 
Pentesting con android - Nipper Toolkit Web Scan
Pentesting con android - Nipper Toolkit Web ScanPentesting con android - Nipper Toolkit Web Scan
Pentesting con android - Nipper Toolkit Web Scan
 
Seguridad Web
Seguridad WebSeguridad Web
Seguridad Web
 
Seguridad Dispositivos móviles Extened Edition
Seguridad Dispositivos móviles Extened EditionSeguridad Dispositivos móviles Extened Edition
Seguridad Dispositivos móviles Extened Edition
 
Taller Virtual de Pentesting contra Aplicaciones Web
Taller Virtual de Pentesting contra Aplicaciones WebTaller Virtual de Pentesting contra Aplicaciones Web
Taller Virtual de Pentesting contra Aplicaciones Web
 

Ähnlich wie OWASP Top 10 2017

Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesIncorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesSoftware Guru
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Webacksec
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Raúl Requero García
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securityseguridadelinux
 
Seguridad en servidores
Seguridad en servidoresSeguridad en servidores
Seguridad en servidoresTaty Millan
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De DatosWilliam Suárez
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datosguestb40a1b0
 
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]RootedCON
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebEduardo Jalon
 
2018 cyberark evento cloud
2018   cyberark evento cloud2018   cyberark evento cloud
2018 cyberark evento cloudCSA Argentina
 
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?Rames Sarwat
 
Imperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdfImperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdfAlejandro Daricz
 
Securiza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigosSecuriza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigosspankito
 

Ähnlich wie OWASP Top 10 2017 (20)

Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesIncorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
Incorporando la Seguridad de la Información en el Desarrollo de Aplicaciones
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Web
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Seguridad en servidores
Seguridad en servidoresSeguridad en servidores
Seguridad en servidores
 
Owasp top ten 2019
Owasp top ten 2019Owasp top ten 2019
Owasp top ten 2019
 
Ingrid 9-1
Ingrid 9-1Ingrid 9-1
Ingrid 9-1
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
Javier Saez - Una panorámica sobre la seguridad en entornos web [rootedvlc2]
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación Web
 
2018 cyberark evento cloud
2018   cyberark evento cloud2018   cyberark evento cloud
2018 cyberark evento cloud
 
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
La Identidad Digital Unica En La Empresa, ¿Utopia o Realidad?
 
Imperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdfImperva-presentacion-GMS.pdf
Imperva-presentacion-GMS.pdf
 
Securiza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigosSecuriza tu red con Snort y sus amigos
Securiza tu red con Snort y sus amigos
 
Mod security
Mod securityMod security
Mod security
 
Web app attacks
Web app attacksWeb app attacks
Web app attacks
 

Mehr von superserch

Identificando problemas en el JVM
Identificando problemas en el JVMIdentificando problemas en el JVM
Identificando problemas en el JVMsuperserch
 
Introducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVMIntroducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVMsuperserch
 
Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019superserch
 
Garbage Collection en el JVM
Garbage Collection en el JVMGarbage Collection en el JVM
Garbage Collection en el JVMsuperserch
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvmsuperserch
 
Cloudino workshopcpmx7
Cloudino workshopcpmx7Cloudino workshopcpmx7
Cloudino workshopcpmx7superserch
 
Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8superserch
 
Chela stress test
Chela stress testChela stress test
Chela stress testsuperserch
 
Zed Attack Proxy
Zed Attack ProxyZed Attack Proxy
Zed Attack Proxysuperserch
 
Inyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSInyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSsuperserch
 

Mehr von superserch (11)

Identificando problemas en el JVM
Identificando problemas en el JVMIdentificando problemas en el JVM
Identificando problemas en el JVM
 
Introducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVMIntroducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVM
 
Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019
 
Garbage Collection en el JVM
Garbage Collection en el JVMGarbage Collection en el JVM
Garbage Collection en el JVM
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvm
 
Cloudino workshopcpmx7
Cloudino workshopcpmx7Cloudino workshopcpmx7
Cloudino workshopcpmx7
 
Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8
 
Jvmmx jigsaw
Jvmmx jigsawJvmmx jigsaw
Jvmmx jigsaw
 
Chela stress test
Chela stress testChela stress test
Chela stress test
 
Zed Attack Proxy
Zed Attack ProxyZed Attack Proxy
Zed Attack Proxy
 
Inyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSInyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJS
 

Kürzlich hochgeladen

Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfDanielaEspitiaHerrer
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxmrzreyes12
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...#LatamDigital
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)BrianaFrancisco
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.Aldo Fernandez
 

Kürzlich hochgeladen (14)

Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdf
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptx
 
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
 

OWASP Top 10 2017

  • 1. OWASP Top 10 - 2017
 The Ten Most Critical Web Application Security Risks @SuperSerch
  • 2. ¿Qué es OWASP TOP 10? • Documento que busca crear conciencia de los problemas de seguridad al desarrollar sistemas • Basado en más de 40 aportes de firmas de seguridad y una encuesta a mas de 500 individuos, que representa información de ~100k aplicaciones • https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
  • 3. ¿Qué es un riesgo de seguridad?
  • 5. A1 - Injection • Injecciones en SQL, NoSQL, SO, XML y LDAP ocurren cuando datos no confiables son enviados a un interprete como parte de una instrucción o consulta. Un atacante puede utilizar estos datos para engañar al interprete para ejecutar instrucciones arbitrarias o acceder a datos sin contar con la autorización adecuada • Pueden usarse para causar perdida de información, divulgar información clasificada, negación de servicio, desconfianza en los datos, entre otros
  • 6. A1 - Ejemplo SQL String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'"; id = "954' or 'a'='a"
  • 7. A1 - Ejemplo SQL String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'"; PreparedStatement pstmt = conn.preparedStatement(query);
  • 8. A1 - Ejemplo SQL String query = "SELECT * FROM accounts WHERE custID=?"; PreparedStatement pstmt = conn.preparedStatement(query); pstmt.setInt(1, 954) ResultSet rs = pstmt. executeQuery();
  • 9. A1 - Ejemplo NoSQL db.users.find({username: username, password: password}); { "username": {"$gt": ""}, "password": {"$gt": ""} }
  • 10. A1 - Mitigación • Evitar usar los interpretes, para el caso de SQL equivale a usar queries parametrizados (preparedStatement) • Sanitizar las entradas • https://www.owasp.org/index.php/ OWASP_Java_HTML_Sanitizer_Project • https://www.owasp.org/index.php/OWASP_JSON_Sanitizer
  • 11. A2 - Broken Authentication • Problemas al identificar adecuadamente al usuario, guardar contraseñas en claro, cifradas o con digestiones de baja seguridad; debilidad en el manejo de sesión, no evitar ataques de fuerza bruta, exponer los identificadores de sesión en el URL • Al impersonar a un usuario o administrador, todo el sistema está comprometido
  • 12. A2 - Mitigación • Usar autenticación de dos factores • Obligar a rotación de contraseñas con un cierto nivel de complejidad • Tener timeouts en las sesiones de usuario • Limitar o contar con retrasos incrementarles tras cada fallo de autenticación • Generar un nuevo identificador de sesión al autenticar al usuario, basado en un buen algoritmo de aleatoriedad que sea seguro y use alta entropia
  • 13. A3 - Sensitive Data Exposure • Exponer datos sensibles (financieros, de salud, de identificación personal) puede facilitar a un atacante realizar otro tipo de daños como robo de identidad y fraudes crediticios • Los datos sensibles deberían viajar y almacenarse siempre cifrados, y tener precauciones extras antes de mostrarlos (reautenticación) • Las contraseñas se deben almacenar digeridas y con SALT • GDPR
  • 14. A4 - XML External Entities (XXE) • Es posible instruir a procesadores de XML a procesar entidades externas mediante las cuales es posible hacer una inyección o extraer información • Cualquier sistema que recibe XML (SOAP, SAML) puede ser vulnerable a elementos como: <!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
  • 15. A4 - Mitigación • Siempre que sea posible usar formatos de datos más simples (JSON, protobuf) • Tener actualizados todos los componentes que procesen XML • Validar lo que se recibe contra una lista blanca de tags aceptados • Deshabiltar el procesamiento de entidades externas y DTDs en los procesadores de XML
  • 16. A5 - Broken Access Control • No se tienen las restricciones adecuadas de que es lo que un usuario tiene permitido ver o hacer • Se pueden realizar acciones no autorizadas, acceder a información de otros usuarios o incluso alterarla • http://example.com/app/accountInfo?acct=notmyacct • http://example.com/app/getappInfo 
 http://example.com/app/admin_getappInfo
  • 17. A5 - Mitigación • No permitir acceso a nada, excepto recursos públicos • Contar con un único mecanismo de acceso y reusarlo en toda la aplicación • Limitar el acceso a llamadas a APIs por tiempo • No pasar datos de identidad como parámetros o URL
  • 18. A6 - Security Misconfiguration • Es el resultado de configuraciones inseguras por defecto, configuraciones incompletas o ad hoc, uso inapropiado de elementos de computo en la nube, encabezados HTTP mal configurados y mensajes de error que dan demasiada información al visitante • No sólo es necesario configurar adecuadamente todos los Sistemas Operativos, Firewalls, Bibliotecas y Aplicaciones, además se requiere tenerlos actualizados prontamente
  • 19. A6 - Mitigación • Contar con un proceso REPETIBLE de hardening, de preferencia automatizado • Instalar lo mínimo necesario • Contar con una tarea periodica de monitorear y actualizar los componentes utilizados por vulnerabilidades conocidas • Cuando se tienen tenants, contar con la adecuada separación de servicios, de preferencia en diferentes hosts
  • 20. A7 - Cross-Site Scripting (XSS) • Ocurre cuando se permite que datos no confiables se incluyen en una página web si escaparlos o realizar la validación/sanitización adecuada • Un atacante puede ejecutar scripts en el navegador de la víctima, con lo que puede secuestrar sesiones, alterar sitios web o redireccionar al usuario a sitios maliciosos • Tipos: Reflected, Stored & DOM
  • 21. A7 - Contextos de Ejecución • Cuerpo del HTML <div><%= request.getParameter("name") %></div> • Atributos de HTML <input type="text" value="<%= dato %>"> • JavaScript <script> name = <%= nombre %> ; … </script> • CSS <style> <%= color %>…</style> • URL <a href="<%= parameter %>">Click</a>
  • 22. A7 - Mitigación • Usar frameworks y template engines que automáticamente escapen datos • Escapar HTML de acuerdo al contexto en que se coloque los datos no confiables • Si se requiere recibir html desde una página, validar todos los tags contra una lista blanca de elementos permitidos • https://www.owasp.org/index.php/ XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
  • 23. A8 - Insecure Deserialization • El proceso de serialización/deserialización es muy complejo, si un atacante puede alterar el flujo de datos puede alterar información o ejecutar código al construir objetos con clases existentes • Se incluyó a solicitud de la comunidad, es muy complejo realizar este tipo de ataques por lo que existían muy pocos sitios que fueron vulnerados por deserialización • *Serialización de Lambdas
  • 24. A8 - Mitigación • Agregar checksums de seguridad a los streams de datos • Asegurar que solo se puedan deserializar un grupo de clases específicas • Aislar y correr con mínimos privilegios el código que deserializa
  • 25. A9 - Using Components with Known Vulnerabilities • Componentes de software como bibliotecas, frameworks y similares corren con los mismos privilegios que la aplicación que los contiene, si estos tienen vulnerabilidades, estas pueden ser muy conocidas y poner en riesgo la aplicación que los usa • Struts 2.0 CVE-2017-5638 • Hearbleed • Mirai Botnet
  • 26. A9 - Mitigación • Quitar dependencias no usadas, componentes innecesarios, ejemplos • Tener un inventario de todas las dependencias con numero de versión • Sólo obtener componentes de fuentes confiables • Monitorear dependencias por si se encuentra una vulnerabilidad en ellas https://www.owasp.org/index.php/OWASP_Dependency_Check
  • 27. A10 - Insufficient Logging & Monitoring • Sin el adecuado monitoreo y registro de eventos, un ataque podría pasar desapercibido • logs se guardan sólo de manera local • No existen logs de eventos auditables como accesos correctos y fallidos, transacciones de alto valor
  • 28. A10 - Mitigación • Asegurar que todas las fallas de acceso, y validación del lado del servidor se registran con suficiente información de contexto para poder analizarlos • Usar sistemas de centralización de Logs • Asegurar que transacciones de alto valor cuenten con un camino auditable con controles de integridad para evitar alteraciones o borrado de las mismas • Contar con alertas y monitoreo que reporte las actividades sospechosas para que se pueda actuar a tiempo • Contar con un plan de respuesta a incidentes y recuperación de desastres como NIST 800-61 rev 2