Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorio:Móduloseguridad
seguridad web,
web laboratorio de evaluación de la
seguridad de un sitio web, usando las técnicas de SQL Injection y
Descubrimiento de ruta.
Objetivos:
Recursos:
Maquina
ina Virtual Windows Server
Internet
Aplicación DVWA (Descarga esta aplicación DVWA de la siguiente dirección web:
web
http://sourceforge.net/projects/dvwa/
XAMMP (PHP,MYSQL,APACHE). Descargar el software XAMMP desde la siguiente
dirección Web http://www.apachefriends.org/en/xampp-windows.html#641
http://www.apachefriends.org/en/xampp windows.html#641
Recomendaciones:
Recomendación puesta en marcha DVWA: Una vez que se tenga el servidor web apache y el
servidor de bases de datos MYSQL arriba, se debe de copiar la carpeta dvwa al directorio
httpdocs para poder que funcione
cione el aplicativo web vulnerable. Luego se debe de configurar la
conexión e la base de datos de la aplicación, y por ultimo ingresar a la aplicación con las
credenciales admin:password.
Paso 1: Identificar un sitio web cualquiera, puede ser el de sus empresas. De forma paralela
colocar en funcionamiento el analizador de protocolos Wireshark. Una vez conectado, realizar
lo siguiente:
Paso 2: Realizar el mismo ejercicio anterior, pero esta vez usando un plugin de firefox llamado
HTTP Headers (https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/). Hacer la
respectiva toma de pantalla. Tener presente que el Addon de Firefox debe de ser instalado.
Ese funciona tanto en Linux, como en Windows.
Paso 3:SQL Injection: Para lograr realizar los procesos de SQL Injection, es importante seguir
de forma secuencial las siguientes actividades:
Nota: Para los siguientes ejercicios debes de ir a la opción de la aplicación DVWA que se
describe como DVWA Security, y seleccionar el nivel de seguridad low, justo y como se
muestra en la siguiente imagen.
' or '1'='1
%' or '0'='0 ---(Vamos a continuar los siguientes ejercicios con este código de
inyección.
Nota: recordar que esta inyección (' or '1'='1) funciona por la sentencia or y por la función
matemática la cual siempre va a dar un valor verdadero (true).
Y la inyección (%' or '0'='0) funciona por el símbolo % que indica que no es igual a nada, o es un
valor falso, y por la función matemática, la cual siempre va a dar un valor verdadero (true)
Luego de que inyectamos el código básico en el formulario de la aplicación web, debe de salir
lo siguiente.
Nota:Si se lanzara directamente la consulta SQL por un motor de bases de datos, la cual es
generada directamente por la aplicación DVWA a partir de la petición, seria similar a esta:
Usando otras sentencias SQL Injection, para enumerar información al respecto de la base de
datos de la aplicación victima:
mejorada quedaria:
%' and 1=0 union select null, table_name from information_schema.tables where table_name
like 'user%'#
Con la anterior información se puede observar que se identifican tablas con criterios de
búsqueda de usuarios
El siguiente paso es buscar una sentencia que nos informe sobre las tablas existentes
en una respectiva base de datos, para el caso vamos a usar la siguiente sentencia:
Luego que se identifican las tablas de la bases de datos respectiva, seria ideal conocer
las columnas de dicha base de datos. Lo anterior se logra con el siguiente comando:
Basado en la consulta anterior obtener todos los hashes de las contraseñas, los cuales
están hasheados en MD5. Luego debes de guardarlos en un archivo de texto con el
siguiente formato:
usuario:hash
Paso numero 4: Realizar de forma manual un análisis de trafico a la pagina de login de DVWA e
identificar el método usado (GET o POST) y registrar cual seria la pertinencia de usar uno u
otra en una aplicación web.