Table des matières

Sqlmap

Description

SQLmap est un outil open source qui permet d'automatiser la détection et l'exploitation de vulnérabilités de type injection SQL. Il permet ainsi de tester la sécurité des bases de données utilisées par les applications web en identifiant les potentielles failles de sécurité sur celles-ci.

Installation

Voici le guide d'installation pour l'outil SQLMap :

Étape 1 : téléchargement du paquet git afin de cloner le dépôt GitHub de SQLMap

sudo apt-get install git
sudo yum install git

Étape 2 : clonage du dépôt GitHub de SQLMap vers un dossier en local (sqlmap-latest)

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-latest

Étape 3 : accès et lancement de SQLMap

cd sqlmap-latest
python3 sqlmap.py --version

Cas d'utilisation

Fonctionnalités principales

Manuel des options principales

-h, --help : affiche l'aide et la liste des options disponibles.
 
-u URL, --url=URL : spécifie l'URL cible pour l'analyse.
 
-r FILE, --file=FILE : spécifie un fichier contenant une requête HTTP à analyser (plutôt qu'une URL).
 
--data=DATA : fournit des données POST pour une requête (utilisé avec -u ou -r).
 
--cookie=COOKIE : fournit des cookies pour l'authentification (utilisé avec -u ou -r).
 
--level=LEVEL : définit le niveau de tests d'injection SQL (1-5, 1 étant le moins intrusif, 5 le plus intrusif).
 
--risk=RISK : définit le niveau de risque pour les tests d'injection SQL (1-3, 1 étant le moins risqué, 3 le plus risqué).
 
--dbms=DBMS : spécifie le type de base de données à cibler (MySQL, PostgreSQL, Microsoft SQL Server, etc.).
 
--technique=TECHNIQUE : spécifie la technique d'injection SQL à utiliser (parmi une liste de techniques spécifiques).
 
--banner : affiche la bannière de SQLmap lors de son démarrage.
 
--batch : active le mode batch, qui ne nécessite pas d'interaction utilisateur.
 
--dbs : affiche la liste des bases de données disponibles sur le serveur.
 
--tables : affiche la liste des tables dans la base de données cible.
 
--columns : affiche la liste des colonnes dans une table spécifiée.
 
--dump : extrait les données de la base de données cible.
 
--os-shell : active un shell interactif sur le système d'exploitation distant (lorsqu'une injection SQL permet cela).
 
--tamper=TAMPER : spécifie des scripts de contournement personnalisés pour modifier les données avant l'injection.
 
--user-agent=AGENT : spécifie un agent utilisateur personnalisé dans les en-têtes HTTP.
 
--random-agent : utilise un agent utilisateur aléatoire pour masquer la présence de SQLmap.
 
--tor : dirige les requêtes SQL via le réseau Tor pour l'anonymat.
 
--proxy=PROXY : utilise un proxy pour rediriger les requêtes.
 
--threads=THREADS : définit le nombre de threads à utiliser pour les tests (parallélisation).
 
--time-sec=TIME_SEC : définit le temps d'attente maximal pour chaque requête.
 
--flush-session : efface les données de session enregistrées précédemment.
 
--purge-output : ssupprime les données de sortie de fichiers existants.
 
--exclude=EXCLUDE : exclut spécifiquement une option de test (par exemple, "--exclude=users").
 
-v, --verbose : active le mode verbeux, qui affiche davantage d'informations de débogage.
 
--wizard : active le mode assistant pour guider l'utilisateur dans la configuration des tests.
 
--eval=CODE : évalue le code Python personnalisé pendant l'exécution de SQLmap.
 
--sqlshell : active le shell SQL interactif.
 
--sql-file=SQL_FILE : spécifie un fichier contenant des requêtes SQL personnalisées à exécuter.

Exemple d'exploitation ou d'utilisation

Supposons que vous soyez chargé de tester la sécurité d'un site web e-commerce, et que vous ayez découvert une vulnérabilité d'injection SQL potentielle dans le formulaire de recherche du site. Vous souhaitez utiliser SQLmap pour exploiter cette vulnérabilité et extraire des données sensibles de la base de données du site.

Voici les étapes du chemin d'exploitation :

sqlmap -u "https://www.example.com/search?q=test"
sqlmap -u "https://www.example.com/search?q=test" --dbs
sqlmap -u "https://www.example.com/search?q=test" -D database_name --tables
sqlmap -u "https://www.example.com/search?q=test" -D database_name -T clients --dump

References

URL :

Retour fiches outils