Este documento resume las vulnerabilidades web más comunes y cómo evitarlas. Explica vulnerabilidades como inyección SQL, cross-site scripting (XSS), robo de sesiones, y falta de control de acceso. Recomienda validar toda entrada de usuario, usar cookies seguras, comprobar permisos de acceso, y seguir las mejores prácticas de seguridad como las del proyecto OWASP.
2. • Conocer vulnerabilidades web más
comunes y peligrosas.
• Dirigido a desarrolladores y sysadmin.
• Explicación vulnerabilidad.
• Demo (si no explota).
• Cómo evitarlas.
3. • 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 ;)
4. • 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
6. • 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...?
7.
8. • Código interpretado a través de entrada
de usuario.
• Permite robo de sesión, redirección,
ejecutar código malicioso, "BeEF“.
9. • Reflejado: ejecución a través de URL,
mediante ingeniería social.
• Almacenado: el código js se almacena
en la aplicación.
13. • 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;--
14. • Saltarse la autenticación.
• Volcar la BBDD.
• Modificar/borrar la BBDD.
• Ejecutar comandos del sistema.
17. • 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?
18. • 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.
19. • Cookie en la URL.
• Cookie impredecible.
• Resistente a modificaciones.
• Transmitidas por canal seguro.
• HttpOnly
• secure
23. ¿Qué hacer?
• Comprobación de control de acceso en cada
recurso.
• ¿Ha iniciado sesión?
• ¿La sesión tiene permisos suficientes?
24. • 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.
26. • Credenciales enviadas por canal
inseguro.
• Configuración del server insegura.
• Software vulnerable.
• Almacenamiento no seguro de contenido
sensible.
27. • Proyecto OWASP:
• Desarrollo seguro.
• Revisión de código.
• Guía de pruebas.