Comment utiliser sqlmapGetshell
sqlmap lit et écrit des fichiers
–file-read : lit les fichiers à partir du système de fichiers du système de gestion de base de données principal
–file-write : modifie les fichiers locaux sur le système de fichiers du système de gestion de base de données principal (à partir du système de fichiers local Write)
–file-dest : Le chemin absolu du fichier écrit par le système de gestion de base de données back-end (chemin cible d'écriture)
Vous pouvez utiliser les commandes ci-dessus pour lire et écrire le fichier système après l'injection SQL, mais le La condition préalable est qu'il doit disposer d'autorisations de lecture et d'écriture et d'autorisations de base de données, sinon les opérations de lecture et d'écriture ne pourront pas être effectuées avec succès.
Prenons DVWA comme exemple, construisez DVWA sous Kali pour lire et écrire des fichiers.
Lire le fichier :
Vérifiez les informations pertinentes dans PHPinfo et utilisez la commande -file-read pour lire le fichier.
sqlmap -u"http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-read "/etc/php/7.3 /apache2/php.ini"
Une fois le fichier lu avec succès, une invite s'affichera à la fin des informations affichées. Vous devez entrer le chemin correspondant affiché par sqlmap pour lire les informations pertinentes.
Écrivez le fichier :
Ici, utilisez la commande DVWA pour exécuter et vérifier le chemin, puis écrivez le fichier dans /var/www/html/vulnerabilities/exec. Sous ce chemin, utilisez -file. -write, - La commande file-dest a constaté que l'écriture avait réussi.
sqlmap -u"http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-write "/usr/test/1 .txt" -file-dest "var/www/html/vulnerabilities/execl/1.txt"
(contenu 1.txt créé sous le chemin d'utilisation)
(écrire 1 Le contenu .txt est affiché après une saisie réussie)
Shell de téléchargement SQLmap (--os-shell)
--os-shell a trois conditions d'exécution :
(1) Le site Web doit avoir les autorisations root
( 2) L'attaquant doit connaître le chemin absolu du site Web
(3) GPC est désactivé et la fonction d'échappement actif PHP est désactivée
Tout d'abord, utilisez la commande --is-dba pour vérifier si vous êtes un administrateur Sinon, vous ne pouvez pas l'utiliser -- commande os-shell. Comme le montre la figure ci-dessous, s'il est affiché comme vrai, il s'agit d'un administrateur, et s'il n'est pas administrateur, il est affiché comme faux.
Ensuite, utilisez la commande –os-shell. Après avoir créé un point d'injection, vous serez invité à sélectionner une langue. La sélection ici est basée sur la langue utilisée par le système. 4.
Le site Web est sélectionné ici. Une fois la sélection de la langue terminée, le chemin sera sélectionné. Si vous connaissez le chemin absolu du site Web, vous pouvez en choisir 2 ou 1 chemin commun.
Une fois la sélection du chemin terminée, une invite 404 s'affiche lors de l'écriture, comme le montre la figure ci-dessous.看 Revenez en arrière et vérifiez s'il y a un problème avec d'autres paramètres. J'ai utilisé -is-dba plus tôt et l'affichage est vrai. Ensuite, j'ai utilisé la commande current-user pour afficher l'utilisateur et j'ai découvert que l'utilisateur était dvwauser. Lors de la configuration initiale, le système a également indiqué que MariaDB ne pouvait pas utiliser les autorisations root pour se connecter à la base de données par défaut, mais il a également utilisé l'instruction Grant All pour accorder toutes les autorisations à dvwauser, et le chemin d'écriture a également été défini avec des autorisations de lecture et d'écriture. , mais l'écriture n'a jamais réussi. Enfin, ou essayez d'utiliser xampp. (J'ai douté qu'il s'agisse d'un problème avec l'utilisateur root ou d'un problème avec la version de la base de données. Après tout, xampp écrit avec succès)
Vérifiez que l'utilisateur est dvwauser :
Accordez les droits d'utilisateur dvwauser :
En désespoir de cause , essayez d'utiliser Xampp pour construire DVWA Quand, cette fois, il a été constaté que l'écriture avait réussi.
Avant d'utiliser xampp pour écrire, utilisez current-user pour afficher l'utilisateur, comme le montre la figure ci-dessous, il est affiché en tant que root et -is-dba est affiché comme true.
Une fois l'écriture réussie, accédez au chemin d'accès au fichier écrit. Il y a ici un point de téléchargement, qui peut être téléchargé. Je l'ai téléchargé. Un fichier php, connecté avec succès à l'aide de Ant Sword.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Utilisez sqlmap pour automatiser l'injection dans dvwa, définissez le niveau dvwa sur bas, ouvrez SQLInjection (SQLInjection(Blind)) de dvwa, ouvrez le débogage du navigateur, entrez l'ID utilisateur et soumettez-le, et 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#" On la met directement dans salmap pour le tester, utilisez le - u commande -u"http://192.168.1.22

Parce qu'il est nécessaire d'effectuer des tests d'intrusion sur les sites Web externes, la plupart des sites Web disposent d'un contrôle de fréquence d'accès. Une fois cette fréquence dépassée, l'IP sera directement bannie. Surtout lorsque SQLMAP est en cours d'exécution, il est encore plus "tante rouge", et il se terminera avec une erreur avant la fin de l'exécution de SQLMAP. J'ai donc commencé à étudier le mode proxy de SQLMAP. SQLMAP a deux modes proxy, l'un est un proxy normal (proxy HTTP) et l'autre est un proxy oignon. Au départ, je voulais écrire sur l'application des agents ordinaires, mais Baidu a vu que cet article était suffisamment détaillé et a arrêté de dire des bêtises. Extension Sqlmap - Implémentation d'un pool de proxy IP externe Concentrons-nous sur le proxy onion Au début, lorsque l'onion était utilisé directement pour l'injection, il n'y avait pas de rapport « tante rouge ». Plus tard, à mesure que le nombre de sites Web pénétrés augmentait,

Première partie : Utilisation de Sqlmap 1.1 Introduction à sqlmap 1. J'ai mentionné quelques instructions de base sur l'injection SQL, mais l'injection manuelle est très gênante. Nous pouvons utiliser sqlmap, un puissant outil d'injection SQL, pour obtenir des données. # sqlmap est un outil de test d'intrusion open source qui peut détecter et exploiter automatiquement les vulnérabilités d'injection SQL et les serveurs connectés à la base de données. Il dispose d'un moteur de détection très puissant, d'un testeur d'intrusion doté de multiples fonctionnalités, d'un accès au système de fichiers sous-jacent via l'empreinte digitale de la base de données et l'exécution de commandes via une connexion hors bande. Site officiel : sqlmap.org(2)#Bases de données prises en charge : MySQL, Oracle, PostgreS

0x00 Présentation Récemment, j'ai rencontré un phénomène étrange lors de l'utilisation des tests d'injection sqlmap. La version supérieure de sqlmap ne peut pas détecter l'injection, mais la version inférieure peut détecter l'injection et les données peuvent être épuisées, ce qui n'est pas un faux positif après. tests comparatifs et visualisation du code source de sqlmap, j'ai trouvé deux petits trous. Format du point d'injection de reproduction du scénario 0x01 : json..."whereparams":[{"name":"keyWord","value":"test"}]} Paramètres injectables : commande valuesqlmap : pythonsqlmap.py-rsqlpk.txt– flush -session-vvsqlmapv1.2.11 ne peut pas injecter de s

1. Préface Comment détecter l'injection SQL ? Ma réponse est la suivante : lorsque la partie A assure la sécurité, la détection des injections SQL est relativement facile à effectuer. 1) Détection d'injection d'erreur. 2) N'injectez pas de rapports d'erreurs booléennes car les faux positifs sont relativement élevés. 3) Effectuez une injection de temps basée sur le temps, l'exploitation et la maintenance des contacts pour créer des enregistrements de base de données de journaux lents, surveiller le sommeil et évaluer les mots clés. Vous pouvez ajouter le numéro d'identification de la tâche d'analyse à la virgule décimale du temps de sommeil pour faciliter le positionnement. (ps. Cette méthode peut trouver 99 % des injections SQL) Par conséquent, lorsque je fais une injection temporelle basée sur le temps, je limite très sévèrement l'erreur de temps. Cependant, @chengable effectue un travail lié à la sécurité dans la partie B, sur la base de t

Lorsque j'ai testé l'application de l'entreprise, j'ai découvert que nous avions ajouté un caractère 32 bits à tous les contenus des paramètres et finalement effectué le cryptage MD5. Étant donné que le processus de traitement de l'APP vérifie d'abord si le signe est correct, si la vérification de la signature échoue, il ne pourra pas du tout entrer dans la base de données. Afin d'utiliser SQLMAP pour le tester, j'ai écrit un script pour les données proxy après l'interception. le paquet de données, effectue le remplacement crypté de son contenu de paramètre et de 32 caractères. Remarque : ce script convient au système interne de l'entreprise, car vous pouvez connaître le processus de cryptage ou obtenir la méthode de cryptage du JS frontal ; Tout d'abord, j'ai écrit un programme utilisant Django pour simuler le système de l'entreprise. Le processus consistait à obtenir l'ID POST et le jeton, et à ajouter un mot crypté personnalisé.

sqlmap lit et écrit des fichiers –file-read : lit les fichiers à partir du système de fichiers du système de gestion de base de données principal –file-write : modifie les fichiers locaux sur le système de fichiers du système de gestion de base de données principal (écrit à partir du système local) –file-dest : Le chemin absolu du fichier écrit par le système de gestion de base de données back-end (chemin cible d'écriture). Vous pouvez utiliser les commandes ci-dessus pour lire et écrire le fichier système après l'injection SQL, mais la condition préalable est que vous ayez besoin d'avoir lu et écrit. autorisations et être un administrateur de base de données, sinon les opérations de lecture et d'écriture ne peuvent pas être effectuées avec succès. En prenant DVWA comme exemple, construisez DVWA sous Kali pour lire et écrire des fichiers. Lire le fichier : Vérifiez les informations pertinentes dans PHPinfo, utilisez -file-r

Il y a trop peu d'articles sur l'injection DNS pour sqlmap sur Internet. Ils ne présentent que brièvement le paramètre --dns-domain. Les articles pratiques pertinents sont soit vagues, soit mentionnés d'un seul coup, ce qui prête à confusion (principalement malhonnête, la clé est). pas encore Big Boss). Puis j’ai recommencé en me référant aux méthodes sur Internet. Les éléments à préparer incluent un sqlmap, une injection aveugle de Windows, deux noms de domaine et un serveur réseau externe. Un jour, alors que je faisais quelque chose, je suis tombé sur une injection aveugle temporelle. Il s'agissait d'une machine Windows et je me suis souvenu de la méthode d'injection DNS. Avant de commencer, je prévois d'utiliser la commande --sql-shell de sqlmap pour tester la charge utile de l'injection DNS. Tout d'abord, accédez à burpsuite.
