![Page 1: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/1.jpg)
Vulnerabilidades Web Cómo detectarlas y evitarlas
Jose Luis Chica · @bufferovercat
![Page 2: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/2.jpg)
• Conocer vulnerabilidades web más
comunes y peligrosas.
• Dirigido a desarrolladores y sysadmin.
• Explicación vulnerabilidad.
• Demo (si no explota).
• Cómo evitarlas.
![Page 3: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/3.jpg)
• Ing. Técnico Informática de Gestión por
la UMU.
• Security Engineer en S2 Grupo.
• Miembro del Centro de Seguridad TIC de
la Comunidad Valenciana (CSIRT-cv).
• Asiduo de las MLPs ;)
![Page 4: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/4.jpg)
• Boletines, rss de fabricantes.
• Noticias diarias.
• Cursos online gratuitos, guías, campañas
de concienciación.
• Informes de phising. ¡Mándanos!
• twitter: @csirtcv
• fb: www.facebook.com/csirtcv
![Page 5: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/5.jpg)
• 97554 vulnerabilidades.
• 50% vulnerabilidades graves.
• 13% sistemas comprometidos.
¿No da miedo?
![Page 6: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/6.jpg)
• TODAS las aplicaciones tienen bugs
• Si tienen bugs, pueden tener vulns.
• Vulnerabilidad web:
• Pérdidas económicas.
• Pérdida reputacional.
• ¿Os acordáis de Sony...?
![Page 7: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/7.jpg)
![Page 8: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/8.jpg)
• Código interpretado a través de entrada
de usuario.
• Permite robo de sesión, redirección,
ejecutar código malicioso, "BeEF“.
![Page 9: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/9.jpg)
• Reflejado: ejecución a través de URL,
mediante ingeniería social.
• Almacenado: el código js se almacena
en la aplicación.
![Page 10: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/10.jpg)
¡DEMO!
![Page 11: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/11.jpg)
Código fuente:
HTML resultante:
Ataque:
(String) page += "<input name='creditcard' type='TEXT‘
value='" + request.getParameter("CC") + "'>“;
<input name='creditcard' type='TEXT' value='121241242421434‘>
http://www.example.com/buyItem.php?CC="'><script>alert("XSS")
;</script>‘”
![Page 12: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/12.jpg)
¿Cómo evitarlo?
• Validar TODA entrada de usuario.
![Page 13: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/13.jpg)
• Inserción a través de parámetros de
entrada de sententencias arbitrarias a
la BBDD de la aplicación.
http://www.asdf.com/item.php?id=123 or 1=1
http://www.asdf.com/item.php?id=123; DROP TABLE
items;--
http://www.asdf.com/item.php?id=123 UNION SELECT
user,password FROM users;--
![Page 14: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/14.jpg)
• Saltarse la autenticación.
• Volcar la BBDD.
• Modificar/borrar la BBDD.
• Ejecutar comandos del sistema.
![Page 15: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/15.jpg)
¡DEMO!
![Page 16: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/16.jpg)
• Sanear.
• Sanear!
• Sanear!!
• Sanear!!!
• Sanear!(n-1)!
![Page 17: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/17.jpg)
• Riesgo: robo de cookie de sesión.
• Con la cookie, un atacante podría
hacerse pasar por la víctima.
• ¿Mi web tiene mecanismos para evitar el
robo?
![Page 18: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/18.jpg)
• Caducidad de la sesión.
• Timeout por inactividad.
• Cierre de sesión, destrucción cookie.
• Renovación de cookie al hacer login.
• Limitación de sesiones concurrentes.
![Page 19: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/19.jpg)
• Cookie en la URL.
• Cookie impredecible.
• Resistente a modificaciones.
• Transmitidas por canal seguro.
• HttpOnly
• secure
![Page 20: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/20.jpg)
Ejemplo
http://ejemplo.com/usuario.php;jsessi
onid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV
![Page 21: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/21.jpg)
• Acceso a urls, o recursos del que no se
tiene permisos.
• Ejemplos:
• Edición de contenido.
• Sección privada de usuario.
![Page 22: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/22.jpg)
Privilegios verticales
http://ejemplo.com/index.php?idNoticia=1&accion=ver
http://ejemplo.com/index.php?idNoticia=1&accion=editar
Privilegios horizontales
http://ejemplo.com/index.php?privmsg=140
http://ejemplo.com/index.php?privmsg=141
![Page 23: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/23.jpg)
¿Qué hacer?
• Comprobación de control de acceso en cada
recurso.
• ¿Ha iniciado sesión?
• ¿La sesión tiene permisos suficientes?
![Page 24: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/24.jpg)
• Posibilidad de forzar a un usuario a realizar
una acción.
• Normalmente, en formularios.
• Se engaña al usuario, para que acceda a una
url maliciosa.
![Page 25: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/25.jpg)
¡D
EM
O!
![Page 26: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/26.jpg)
• Credenciales enviadas por canal
inseguro.
• Configuración del server insegura.
• Software vulnerable.
• Almacenamiento no seguro de contenido
sensible.
![Page 27: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/27.jpg)
• Proyecto OWASP:
• Desarrollo seguro.
• Revisión de código.
• Guía de pruebas.
![Page 28: Introducción a las vulnerabilidades Web: cómo detectarlas y evitarlas](https://reader034.vdocuments.pub/reader034/viewer/2022051514/5495f26bac795959288b50d4/html5/thumbnails/28.jpg)
¡GRACIAS!
www.securityartwork.es
@bufferovercat