Introducción a DVWA.

Download Report

Transcript Introducción a DVWA.

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.