Maison  >  Article  >  Opération et maintenance  >  Comment utiliser sqlmapGetshell

Comment utiliser sqlmapGetshell

WBOY
WBOYavant
2023-05-13 18:25:061844parcourir

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"

Comment utiliser sqlmapGetshell

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.

Comment utiliser sqlmapGetshellComment utiliser sqlmapGetshell

É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"

Comment utiliser sqlmapGetshell

Comment utiliser sqlmapGetshell

(contenu 1.txt créé sous le chemin d'utilisation)

Comment utiliser sqlmapGetshell

(é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.

Comment utiliser sqlmapGetshell 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.

Comment utiliser sqlmapGetshell 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.

Comment utiliser sqlmapGetshellUne 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 : Comment utiliser sqlmapGetshell

Accordez les droits d'utilisateur dvwauser :

Comment utiliser sqlmapGetshellEn désespoir de cause , essayez d'utiliser Xampp pour construire DVWA Quand, cette fois, il a été constaté que l'écriture avait réussi.

Comment utiliser sqlmapGetshell 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.

Comment utiliser sqlmapGetshell

Comment utiliser sqlmapGetshell 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.

Comment utiliser sqlmapGetshell

Comment utiliser sqlmapGetshell

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer