Heim > Artikel > Backend-Entwicklung > Eine kurze Diskussion darüber, welche wertvollen Informationen von phpinfo erhalten werden können
Die
PHPInfo()-Funktion wird hauptsächlich verwendet, um während des Website-Erstellungsprozesses zu testen, ob die erstellte PHP-Umgebung korrekt ist. Viele Websites löschen nicht rechtzeitig, nachdem der Test abgeschlossen ist , also beim Zugriff auf diese Tests Beim Öffnen der Seite werden wichtige Informationen des Servers ausgegeben. Der Verlust dieser Informationen führt zum Risiko einer Serverpenetration. Werfen wir einen Blick auf die ausführliche Einführung unten.
phpinfo-Funktion
phpinfo-Funktion PHP stellt die PHPInfo()-Funktion zur Verfügung, die alle Informationen über PHP zurückgibt, einschließlich PHP-Kompilierungsoptionen und erweiterter Konfiguration , PHP-Version, Serverinformationen und Umgebungsvariablen, PHP-Umgebungsvariablen, Informationen zur Betriebssystemversion, Pfade und Umgebungsvariablenkonfiguration, HTTP-Header sowie Urheberrechtshinweise und andere Informationen.
Die Funktionsdefinition lautet wie folgt:
Syntax: int phpinfo(void);
Rückgabewert: Integer
Funktionstyp: PHP-Systemfunktion
Erstellen Sie beispielsweise eine neue PHP-Datei und geben Sie darin folgenden Inhalt ein:
<?php phpinfo(); ?>
Also phpinfo()
muss am meisten sein Das ist jedem bekannt. Nach dem Einrichten der Umgebung schreiben sie dann ein phpinfo()
, um zu testen, ob die Umgebung normal ist. Viele Leute vergessen, sie nach dem Testen zu löschen und mit der Bereitstellung der Umgebung zu beginnen, was zum Verlust einiger vertraulicher Informationen führt. Welche sensiblen Informationen können wir also von phpinfo()
erhalten?
Natürlich werfen wir bei der PHP-Version einen Blick auf die sensibleren Informationen, die durchgesickert sind.
1. Absoluter Pfad (_SERVER["script_FILENAME"])
Dies ist die am häufigsten verwendete und effektivste Methode, um Die Seite kann direkt den absoluten Pfad der Website finden, was für das Schreiben von Shells und das Sammeln von Informationen unerlässlich ist. phpinfo()
2. Unterstützte Programme
Sie können einige spezielle Programmdienste über anzeigen, wie Redis, Memcache, MySQL, SMTP, Curl usw. Wenn der Server mit Redis oder Memcache ausgestattet ist, können Sie die Shell über SSRF abrufen. Solche Probleme sind in Discuz aufgetreten. Wenn Sie sicher sind, dass Redis oder Memcache installiert ist, und wenn Sie keine Ahnung haben, können Sie sich auf die Suche nach SSRF konzentrierenphpinfo()
3. Lecken Sie die echte IP (_SERVER["SERVER_ADDR"] oder SERVER_ADDR)
Manchmal kann die durchgesickerte IP von verwendet werden, um Nebenstationen, Segment C usw. zu überprüfen. Ignorieren Sie einfach die CDN und alles wird nicht funktionieren. phpinfo()
4. GOPHER
Es kann als Teil von ssrf betrachtet werden oder wird hauptsächlich von ssrf verwendet wird kein Druck auf ssrf ausgeübt.5. Remote-Befehlsausführung, willkürliches Lesen von Dateien usw. Problem
6. LeckageCache
Dateiadresse (_FILES["file1"])Auf phpinfo() posten Eine Shell kann die von hochgeladene temporäre Datei in sehen. Wenn es lfi gibt, können Sie die Shell direkt abrufen.
Einige sensible Konfigurationenallow_url_include,allow_url_fopen,disable_functions, open_basedir, short_open_tag usw. allow_url_include kann beispielsweise für die Remote-Dateieinbindung verwendet werden,disable_functions kann verwendet werden, um deaktivierte Funktionen anzuzeigen, die Ausführung zu umgehen und zu überprüfen, ob open_basedir aktiviert ist, um möglicherweise einige Verzeichnisse zu lesen ohne Erlaubnis usw. Darüber hinaus können Sie auch einige Umgebungsinformationen wie Pfad, Protokoll usw. in der Umgebung abrufen
Zusammenfassung
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion darüber, welche wertvollen Informationen von phpinfo erhalten werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!