Universidad de Almería Máster en Administración, Comunicaciones y Seguridad Informática

Post on 03-Feb-2016

46 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of Universidad de Almería Máster en Administración, Comunicaciones y Seguridad Informática

Universidad de Almería

Máster en Administración, Comunicaciones y Seguridad

Informática

WEB VULNERABLE DVWA

Web

Vu

lner

able

DV

WA

2

ÍND

ICE 01 Introducción a DVWA

• ¿Qué es DVWA?• Requisitos

instalación.• ¿Por qué php?

02 Vulnerabilidades.• Tipos• Contenido• Ejemplo

03 Conclusiones.

Web

Vu

lner

able

DV

WA

33

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

Vu

lner

able

DV

WA

44

Introducción a DVWA.

Requisitos de instalación LAMP.

Web

Vu

lner

able

DV

WA

55

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.

Web

Vu

lner

able

DV

WA

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

Web

Vu

lner

able

DV

WA

77

Vulnerabilidad.

Fuerza bruta.

Estracción de autenticación al sistema mediante ensayo-error.

Uso de diccionarios. Software adicional:

Burpsuite. THC-Hydra.

Web

Vu

lner

able

DV

WA

88

Vulnerabilidad.

Ejemplo de fuerza bruta

Web

Vu

lner

able

DV

WA

99

Vulnerabilidad.

Ejemplo de fuerza bruta

Web

Vu

lner

able

DV

WA

1010

Vulnerabilidad.

Ejemplo de fuerza bruta

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Contramedidas de fuerza bruta.

Uso de captchas.Uso de tokens.Funciones de PHP: sleep()

Web

Vu

lner

able

DV

WA

1212

Vulnerabilidad.

Command execution.

Ejecuta comandos de sistema en el servidor desde la web por un filtrado indebido.

Web

Vu

lner

able

DV

WA

1313

Vulnerabilidad.

Ejemplo command execution.

Web

Vu

lner

able

DV

WA

1414

Vulnerabilidad.

Ejemplo command execution.

Web

Vu

lner

able

DV

WA

1515

Vulnerabilidad.

Contramedidas command execution.

Comprobación del tipo de datos esperado con funciones PHP: Explode() Comprobación is_numeric() Tamaño size()

Web

Vu

lner

able

DV

WA

1616

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

Vu

lner

able

DV

WA

1717

Vulnerabilidad.

Ejemplo de CSRF.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo de CSRF.

Web

Vu

lner

able

DV

WA

1919

Vulnerabilidad.

Ejemplo de CSRF.

Web

Vu

lner

able

DV

WA

2020

Vulnerabilidad.

Ejemplo de CSRF.

Web

Vu

lner

able

DV

WA

2121

Vulnerabilidad.

Ejemplo de CSRF.

Web

Vu

lner

able

DV

WA

2222

Vulnerabilidad.

Ejemplo de CSRF.

Web

Vu

lner

able

DV

WA

2323

Vulnerabilidad.

Contramedidas de CSRF.

El uso de token: $token = md5($secret.$sid.$form);$token = md5($secret.$sid.$form);

Web

Vu

lner

able

DV

WA

2424

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)

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo File inclusion.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo File inclusion.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Contramedidas de File Inclusion.

Directivas de seguridad: allow_url_include allow_url_fopen

Web

Vu

lner

able

DV

WA

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

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo SQL injection.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo SQL injection.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo SQL injection.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Contramedidas de SQL injection.

Funciones de PHP: addcslashes()

mysql_real_escape_string()stripslashes()

Web

Vu

lner

able

DV

WA

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.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo File Upload.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo File Upload.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo File Upload.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Contramedidas File Upload.

Función de seguridad:• Getimagesize()• Header(Content-Type)

Web

Vu

lner

able

DV

WA

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.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo XSS.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Ejemplo XSS.

Web

Vu

lner

able

DV

WA

Vulnerabilidad.

Contramedidas XSS.

Funciones de PHP:Stripslashes()mysql_real_escape_string()htmlspecialchars()

Web

Vu

lner

able

DV

WA

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.