Eine phpinfo()-Seite ist öffentlich erreichbar
Worum es geht
Auf Ihrer Website ist eine Datei öffentlich erreichbar (meist phpinfo.php oder info.php), die phpinfo() aufruft und damit die komplette PHP-Konfiguration ausgibt. Wir prüfen, dass die Antwort wirklich wie eine phpinfo()-Seite aussieht. Ein bloßes HTTP 200 reicht uns nicht.
Warum das ein Problem ist
Die Ausgabe erspart einem Angreifer die Aufklärung:
- die genaue PHP-Version und die Liste der geladenen Module, an denen er eine passende Schwachstelle auswählt,
- Pfade auf dem Datenträger und Servereinstellungen,
- Umgebungsvariablen, in denen oft Datenbankpasswörter oder API-Schlüssel stehen, wenn die Anwendung sie so erhält.
Niemand legt diese Datei absichtlich an. Sie bleibt nach dem Debuggen oder der Installation liegen.
Wie Sie es beheben
Datei löschen
Die einfachste und beste Lösung. Wenn Sie nicht wissen, welche Datei es ist, durchsuchen Sie den Code:
grep -rl "phpinfo(" /var/www --include=*.phpWenn Sie sie brauchen
Führen Sie phpinfo() nur auf der Kommandozeile oder lokal aus. In Produktion können Sie die Funktion in der php.ini abschalten:
disable_functions = phpinfoOder sperren Sie die typischen Namen auf Serverebene (nginx):
location ~* /(phpinfo|info|test)\.php$ {
return 404;
}Wenn die Ausgabe öffentlich war
Gehen Sie davon aus, dass alles auf der Seite für Fremde sichtbar war. Tauschen Sie die Passwörter und Schlüssel aus, die in den Umgebungsvariablen auftauchten.