Introducción a DVWA. - Administración de Sistemas Operativos
by user
Comments
Transcript
Introducción a DVWA. - Administración de Sistemas Operativos
Universidad de Almería Máster en Administración, Comunicaciones y Seguridad Informática WEB VULNERABLE DVWA Web Vulnerable DVWA ÍNDICE 01 Introducción a DVWA • ¿Qué es DVWA? • Requisitos instalación. • ¿Por qué php? 02 Vulnerabilidades. • Tipos • Contenido • Ejemplo 03 Conclusiones. 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. Web Vulnerable DVWA 3 Introducción a DVWA. Web Vulnerable DVWA Requisitos de instalación LAMP. 4 Introducción a DVWA. ¿Por qué PHP? Más de 20 millones de sitios web. Web Vulnerable DVWA Un millón de servidores. Sitios web personales. Webs corporativas. Organizaciones. 5 Introducción a DVWA. Problemas de seguridad. Web Vulnerable DVWA 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. Web Vulnerable DVWA 7 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de fuerza bruta 8 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de fuerza bruta 9 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de fuerza bruta 10 Vulnerabilidad. Contramedidas de fuerza bruta. Web Vulnerable DVWA Uso de captchas. Uso de tokens. Funciones de PHP: sleep() Vulnerabilidad. Command execution. Web Vulnerable DVWA Ejecuta comandos de sistema en el servidor desde la web por un filtrado indebido. 12 Vulnerabilidad. Web Vulnerable DVWA Ejemplo command execution. 13 Vulnerabilidad. Web Vulnerable DVWA Ejemplo command execution. 14 Vulnerabilidad. Contramedidas command execution. Explode() Comprobación is_numeric() Tamaño size() Web Vulnerable DVWA Comprobación del tipo de datos esperado con funciones PHP: 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. Web Vulnerable DVWA 16 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de CSRF. 17 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de CSRF. Vulnerabilidad. Web Vulnerable DVWA Ejemplo de CSRF. 19 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de CSRF. 20 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de CSRF. 21 Vulnerabilidad. Web Vulnerable DVWA Ejemplo de CSRF. 22 Vulnerabilidad. Contramedidas de CSRF. Web Vulnerable DVWA El uso de token: $token = md5($secret.$sid.$form); 23 Vulnerabilidad. File inclusion. Web Vulnerable DVWA 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 Vulnerabilidad. Web Vulnerable DVWA Ejemplo File inclusion. Vulnerabilidad. Web Vulnerable DVWA Ejemplo File inclusion. Vulnerabilidad. Contramedidas de File Inclusion. Web Vulnerable DVWA Directivas de seguridad: allow_url_include allow_url_fopen Vulnerabilidad. SQL injection. Web Vulnerable DVWA 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. Web Vulnerable DVWA Ejemplo SQL injection. Vulnerabilidad. Web Vulnerable DVWA Ejemplo SQL injection. Vulnerabilidad. Web Vulnerable DVWA Ejemplo SQL injection. Vulnerabilidad. Contramedidas de SQL injection. Web Vulnerable DVWA 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: Web Vulnerable DVWA Tamper data. Vulnerabilidad. Web Vulnerable DVWA Ejemplo File Upload. Vulnerabilidad. Web Vulnerable DVWA Ejemplo File Upload. Vulnerabilidad. Web Vulnerable DVWA Ejemplo File Upload. Vulnerabilidad. Contramedidas File Upload. Web Vulnerable DVWA 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: Web Vulnerable DVWA Firebug. Vulnerabilidad. Web Vulnerable DVWA Ejemplo XSS. Vulnerabilidad. Web Vulnerable DVWA Ejemplo XSS. Vulnerabilidad. Contramedidas XSS. Web Vulnerable DVWA Funciones de PHP: Stripslashes() mysql_real_escape_string() htmlspecialchars() Conclusión. Web Vulnerable DVWA 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.