SQLmap est un outil open-source en ligne de commande utilisé pour automatiser le processus de détection et d'exploitation des vulnérabilités d'injection SQL dans les applications web. Il est largement utilisé par les professionnels de la sécurité pour effectuer des tests de pénétration et des audits de sécurité. SQLmap prend en charge une vaste gamme de bases de données, y compris MySQL, Oracle, PostgreSQL, Microsoft SQL Server, et bien d'autres.
Fonctionnalités Principales de SQLmap
- Détection Automatique : Détecte automatiquement les vulnérabilités d'injection SQL.
- Exploitation : Exploite les vulnérabilités détectées pour extraire des données ou exécuter des commandes arbitraires.
- Support Multi-Plateforme : Prend en charge de nombreuses bases de données et systèmes d'exploitation.
- Payloads Personnalisés : Permet l'utilisation de payloads personnalisés pour tester différentes attaques.
- Rapports Détaillés : Génère des rapports détaillés sur les vulnérabilités détectées et exploitées.
- Automatisation : Permet l'automatisation des tâches via des scripts et des API.
Installation de SQLmap
SQLmap est disponible sur plusieurs plateformes, y compris Linux, Windows et macOS. Voici comment l'installer sur différentes plateformes :
Sur Debian/Ubuntu
sudo apt-get update
sudo apt-get install sqlmap
Sur Kali Linux
SQLmap est préinstallé sur Kali Linux. Vous pouvez le mettre à jour en utilisant :
sudo apt-get update
sudo apt-get install sqlmap
Sur Windows
Vous pouvez télécharger SQLmap depuis le site officiel de GitHub et l'exécuter en utilisant Python.
- Téléchargez SQLmap depuis GitHub.
- Extrayez le fichier ZIP.
- Ouvrez un terminal ou une invite de commande et naviguez jusqu'au répertoire extrait.
- Exécutez SQLmap en utilisant Python :
python sqlmap.py
Utilisation de Base
1. Scanner une URL
Pour scanner une URL à la recherche de vulnérabilités d'injection SQL :
sqlmap -u "http://example.com/vulnerable.php?id=1"
2. Utiliser un Fichier de Liste
Pour scanner une liste d'URLs à partir d'un fichier :
sqlmap -m urls.txt
Le fichier urls.txt
doit contenir une liste d'URLs, un par ligne.
3. Spécifier une Base de Données
Pour spécifier une base de données cible :
sqlmap -u "http://example.com/vulnerable.php?id=1" -d "database_name"
4. Extraire des Données
Pour extraire des données d'une table spécifique :
sqlmap -u "http://example.com/vulnerable.php?id=1" -T "table_name" --dump
5. Utiliser un Proxy
Pour utiliser un proxy avec SQLmap :
sqlmap -u "http://example.com/vulnerable.php?id=1" --proxy="http://127.0.0.1:8080"
Exemples de Ligne de Commande
Scanner une URL et Extraire des Données
Pour scanner une URL, spécifier une base de données, et extraire des données d'une table :
sqlmap -u "http://example.com/vulnerable.php?id=1" -d "database_name" -T "table_name" --dump
Scanner une Liste d'URLs et Utiliser un Proxy
Pour scanner une liste d'URLs à partir d'un fichier et utiliser un proxy :
sqlmap -m urls.txt --proxy="http://127.0.0.1:8080"
Scanner une URL et Générer un Rapport
Pour scanner une URL et générer un rapport détaillé :
sqlmap -u "http://example.com/vulnerable.php?id=1" --batch --output-dir=/path/to/output
Conclusion
SQLmap est un outil puissant et polyvalent pour la détection et l'exploitation des vulnérabilités d'injection SQL dans les applications web. Il est particulièrement utile pour les tests de pénétration et les audits de sécurité, car il permet de tester la robustesse des applications web contre les attaques d'injection SQL. Pour les débutants, il est recommandé de commencer par les fonctionnalités de base comme le scanning d'une URL et l'extraction de données, puis de progresser vers des fonctionnalités plus avancées comme l'utilisation de proxys et la génération de rapports.
N'oubliez pas de consulter la documentation officielle de SQLmap pour des informations plus détaillées et des tutoriels supplémentaires. Vous pouvez également explorer les options supplémentaires et les fonctionnalités avancées pour tirer le meilleur parti de cet outil.
Liens :
https://github.com/sqlmapproject/sqlmap
https://net-security.fr/security/injection-sql-avec-sqlmap/
https://book.hacktricks.xyz/pentesting-web/sql-injection/sqlmap
Youtube :