Apache: So deaktivieren Sie die php_engine für alle beschreibbaren Verzeichnisse

Apache: So deaktivieren Sie die php_engine für alle beschreibbaren Verzeichnisse

Ich bin mit der Wartung eines LAMP-Webservers beauftragt, der bereits Opfer einiger PHP-Programmierer geworden ist, die noch nie etwas von SQL-Injection, CSRF oder ähnlichen Themen gehört haben. Es gibt mehrere allgemein beschreibbare Verzeichnisse, in die diese PHP-Skripte zum Hochladen von Bildern verwendet werden sollen. Natürlich können sie auch zum Hochladen von PHP-Skripten verwendet werden, wie etwa Web-Shells.

Gibt es ein Apache-Modul oder eine Direktive, mit der die PHP-Engine für jedes gefundene Verzeichnis, in das Apache schreiben kann, abgeschaltet werden kann?

Safe_Mode, so hässlich es auch ist, wurde auf den betreffenden Websites aktiviert. Aber darüber hinaus weigere ich mich, die Verantwortung für die Prüfung oder das Anfassen einer einzigen Zeile dieser schrecklichen PHP-Skripte selbst zu übernehmen.

Antwort1

Am einfachsten ist es, php_flag engine offeine .htaccess-Datei in dieses Verzeichnis einzufügen. Die Direktive „engine“ wird nur in PHP 4.0.5 oder höher unterstützt.

Sie können auch versuchen, die Handler in Apache mithilfe von .htaccess (z. B. RemoveHandler .php) zu entfernen, aber ich würde zuerst das andere versuchen. Das Entfernen des Handlers ist eine dieser „Zwangs-Zerstörungs“-Methoden, die manchmal nach hinten losgehen.

verwandte Informationen