430 likes | 609 Views
Universidad de Almería Máster en Administración, Comunicaciones y Seguridad Informática WEB VULNERABLE DVWA. 01 Introducción a DVWA ¿Qué es DVWA? Requisitos instalación. ¿Por qué php? 02 Vulnerabilidades. Tipos Contenido Ejemplo 03 Conclusiones. ÍNDICE. 2.
E N D
Universidad de Almería Máster en Administración, Comunicaciones y Seguridad Informática WEB VULNERABLE DVWA
01 Introducción a DVWA • ¿Qué es DVWA? • Requisitos instalación. • ¿Por qué php? 02 Vulnerabilidades. • Tipos • Contenido • Ejemplo 03 Conclusiones. ÍNDICE 2
Introducción a DVWA.¿Qué es DVWA? • Entorno de entrenamiento en explotación de seguridad web. • Programación deliberadamente vulnerable para realizar pruebas de seguridad en un entorno legal. • Tres niveles de seguridad: low, medium y high. • LiveCD. 3 3
Introducción a DVWA. ¿Por qué PHP? Más de 20 millones de sitios web. Un millón de servidores. • Sitios web personales. • Webs corporativas. • Organizaciones. 5 5
Introducción a DVWA. Problemas de seguridad. Exploit: • Comportamientos extraños en la aplicación • Deformar la web(defacement) • Extraer información sensible: • Servidor web • Usuarios visitantes
Vulnerabilidad. Fuerza bruta. • Estracción de autenticación al sistema mediante ensayo-error. • Uso de diccionarios. • Software adicional: • Burpsuite. • THC-Hydra. 7 7
Vulnerabilidad.Contramedidas de fuerza bruta. Uso de captchas. Uso de tokens. Funciones de PHP: sleep()
Vulnerabilidad.Command execution. Ejecuta comandos de sistema en el servidor desde la web por un filtrado indebido. 12 12
Vulnerabilidad.Contramedidas command execution. Comprobación del tipo de datos esperado con funciones PHP: • Explode() • Comprobación is_numeric() • Tamaño size() 15 15
Vulnerabilidad.CSRF CROSS-site request forgery también conocido como ataque por explotar la confianza que el sitio web tiene en el usuario, dando lugar a que éste realice acciones de manera inconsciente. • Software adicional: • OWAST CSRF Tester. 16 16
Vulnerabilidad.Contramedidas de CSRF. El uso de token: $token = md5($secret.$sid.$form); 23 23
Vulnerabilidad. File inclusion. La inclusión de archivos está referida a la ejecución en el servidor web de ficheros locales o externos. Hay dos tipos, LFI(Local File Inclusion) y RFI(Remote File Inclusion) 24 24
Vulnerabilidad. Ejemplo File inclusion.
Vulnerabilidad. Ejemplo File inclusion.
Vulnerabilidad.Contramedidas de File Inclusion. Directivas de seguridad: • allow_url_include • allow_url_fopen
Vulnerabilidad.SQL injection. Inyección de código invasor SQL con intenciones maliciosas. Existen dos tipos de SQL injection: • SQL injection: Inyección de datos y devolución de errores • SQL injection blind: Inyección de datos sin devolución de errores
Vulnerabilidad.Contramedidas de SQL injection. Funciones de PHP: addcslashes() mysql_real_escape_string() stripslashes()
Vulnerabilidad.File Upload. Subida de archivo no controlada que contiene código malicioso dejando una puerta abierta a todo el sistema. Software adicional: Tamper data.
Vulnerabilidad.Contramedidas File Upload. Función de seguridad: • Getimagesize() • Header(Content-Type)
Vulnerabilidad.XSS. Cross site scripting permite a una tercera parte insertar código en páginas visitadas por usuarios. Existen dos tipos, XSS reflected o indirecto, en el cual se inserta código para modificar valores y pasar entre dos páginas. XSS stored, que permite insertar el código en la base de datos y se ejecutado cada vez que se acceda. Software adicional: Firebug.
Vulnerabilidad.Contramedidas XSS. Funciones de PHP: Stripslashes() mysql_real_escape_string() htmlspecialchars()
Conclusión. No existe ningún sistema libre de fallos, por eso el programador debe de ser capaz de minimizar riesgos y garantizar en medida de lo posible la integridad del sitio web y su información Gracias a DVWA se puede comprender y nejorar la destreza como programador de páginas web. Nos enseñas las siguientes pautas: • Validar/filtrar cualquier parámetro del usuario. • No ofrecer nada mas que la información que sea estrictamente necesaria. • Conocer las directivas de seguridad de PHP. • Controlar los permisos de subida de ficheros.