Universidad de Almería
Máster en Administración, Comunicaciones
y Seguridad Informática
WEB VULNERABLE DVWA
Autores:
Javier Waisen Restoy
Francisco Javier Pérez Sánchez
WEB VULNERABLE DVWA
Javier Waisen Restoy
Ingeniero Técnico en Informática de Sistemas
[email protected]
Francisco Javier Pérez Sánchez
Ingeniero Técnico en Informática de Sistemas
[email protected]
Tanto la memoria de este trabajo como el software desarrollado se distribuyen bajo la licencia GNU GPL v3.
La Licencia Pública General GNU (GNU GPL) es una licencia libre, sin derechos para software y otro tipo de trabajos.
Las licencias para la mayoría del software y otros trabajos prácticos están destinadas a suprimir la libertad de compartir y modificar esos trabajos. Por
el contrario, la Licencia
Pública General GNU persigue garantizar su libertad para compartir y modificar todas las versiones de un programa--y asegurar que permanecerá
como software libre para todos sus usuarios.
Cuando hablamos de software libre, nos referimos a libertad, no a precio. Las
Licencias Públicas Generales están destinadas a garantizar la libertad de distribuir copias de software libre (y cobrar por ello si quiere), a recibir el
código fuente o poder conseguirlo si así lo desea, a modificar el software o usar parte del mismo en nuevos programas libres, y a saber que puede
hacer estas cosas.
Para obtener más información sobre las licencias y sus términos puede consultar:
•
•
http://www.gnu.org/licenses/gpl.html (Licencia original en inglés)
http://www.viti.es/gnu/licenses/gpl.html (Traducción de la licencia al castellano)
Se ha realizado el presente trabajo
para la obtención del título de
Máster Propio en Administración, Comunicaciones
y Seguridad Informática
por la Universidad de Almería
http://masteracsi.ual.es
ÍNDICE
INTRODUCCIÓN ............................................................................................................................................................ 9
CAPÍTULO 1
INTRODUCCIÓN A DVWA ............................................................................................................ 11
CAPÍTULO 2
INSTALACIÓN DE DVWA ............................................................................................................. 15
CAPÍTULO 3 VULNERABILIDADES .................................................................................................................... 19
3.1 BRUTE FORCE ...................................................................................................................................................... 19
3.1.1 Explotando la vulnerabilidad ........................................................................................................................ 20
3.1.2 Prevención..................................................................................................................................................... 27
3.2 COMMAND EXECUTION ....................................................................................................................................... 28
3.2.1 Explotando la vulnerabilidad ........................................................................................................................ 28
3.2.2 Prevención..................................................................................................................................................... 32
3.3 CSRF ................................................................................................................................................................... 34
3.3.1 Explotando la vulnerabilidad ........................................................................................................................ 35
3.3.2 Prevención..................................................................................................................................................... 40
3.4 FILE INCLUSION................................................................................................................................................... 41
3.4.1 Explotando la vulnerabilidad ........................................................................................................................ 41
3.4.2 Prevención..................................................................................................................................................... 46
3.5 SQL INJECTION ................................................................................................................................................... 47
3.5.1 Explotando la vulnerabilidad ........................................................................................................................ 47
3.5.2 Prevención..................................................................................................................................................... 51
3.6 SQL INJECTION (BLIND)...................................................................................................................................... 53
3.6.1 Explotando la vulnerabilidad ........................................................................................................................ 53
3.6.2 Prevención..................................................................................................................................................... 56
3.7 FILE UPLOAD........................................................................................................................................................ 57
3.7.1 Explotando la vulnerabilidad ........................................................................................................................ 57
3.7.2 Prevención..................................................................................................................................................... 62
3.8 XSS REFLECTED .................................................................................................................................................. 63
3.8.1 Explotando la vulnerabilidad ........................................................................................................................ 63
3.8.2 Prevención..................................................................................................................................................... 67
3.9 XSS STORED......................................................................................................................................................... 68
3.9.1 Explotando la vulnerabilidad ........................................................................................................................ 68
3.9.2 Prevención..................................................................................................................................................... 73
CONCLUSIONES .......................................................................................................................................................... 75
BIBLIOGRAFÍA ............................................................................................................................................................ 77
INTRODUCCIÓN
Internet ha desempeñado un papel fundamental en la sociedad de la información como medio para
facilitar el acceso e intercambio de información y datos. Miles son las empresas que ofrecen sus servicios a
través de Internet y, con el auge de las redes sociales, millones de usuarios intercambian información en
tiempo real. Pero, ¿cuán segura está almacenada esta información?
La seguridad informática es el área encargada de la protección de la infraestructura computacional y
todo lo relacionado con ésta (incluyendo la información contenida). Para ello existen una serie de estándares,
protocolos, métodos, reglas, herramientas y leyes concebidas para minimizar los posibles riesgos a la
infraestructura o a la información. La seguridad informática comprende software, bases de datos, metadatos,
archivos y toda información que suponga un riesgo si llega a manos de otras personas.
Uno de los lenguajes más populares para la creación de páginas web dinámicas es PHP (del inglés,
PHP Hypertext Pre-processor). Su auge se debe en gran medida a la aparición de CMS (del inglés, Content
Management System o Sistema de gestión de contenidos) como Wordpress o Joomla que permiten la
creación de portales web a personas (u organizaciones o empresas) sin conocimiento alguno de
programación mediante sencillas interfaces que automatizan todo el proceso, desde la creación de bases de
datos donde almacenar información hasta la publicación de la información almacenada en éstas.
PHP no está exento de problemas de seguridad. En Informática se llama exploit a toda pieza de
software o secuencia de comandos cuyo objetivo sea provocar un comportamiento no deseado o imprevisto
en los programas informáticos, hardware, o componente electrónico. En el caso de las páginas web, estos
exploits están destinados a causar comportamientos extraños en la aplicación o extraer información sensible
del propio servidor o de los usuarios que visiten la página web.
El objetivo del libro es realizar una guía sobre la aplicación Damn Vulnerable Web App y los
diferentes problemas de seguridad que presenta el lenguaje de programación PHP para la creación de páginas
web dinámicas. El libro se divide en los siguientes capítulos:
•••• Capítulo 1. Introducción a DVWA. En este p
Comentarios de: Universidad de Almería Máster en Administración, Comunicaciones y Seguridad Informática - WEB VULNERABLE DVWA (0)
No hay comentarios