Soeben bin ich auf den folgenden Blogeintrag aufmerksam geworden, der mich doch recht stutzig gemacht hat:
[...] The non-obvious problem with the above is that it will allow not only "file.php" to be treated as PHP scripts, but also "file.php.txt", which means that any file containing ".php" in its name, no matter where in the filename, would be treated as a PHP script. [...]
http://ilia.ws/archives/226-Beware-of-the-default-Apache-2-config-for-P…
Auswirkung des beschriebenen Fehlers ist, dass mal wieder die kleinste Unaufmerksamkeit zu einer riesigen Sicherheitslücke führt.
Aus meiner Sicht existiert auch kein sinnvoller Grund für diese laxe Behandlung der PHP-Typen und ich kann daraus nur folgende Schlüsse ziehen:
- Benutzer-Uploads sehr exakt prüfen (MIME-Typ, Suffix(e!), ...)
- Benutzer-Uploads nur in Verzeichnissen speichern, in denen keine Scripte ausgeführt werden können
- Das beschriebene Problem unbedingt auf den eigenen Servern testen und wenn nicht selbst administriert, den Hoster auf die Schwachstelle hinweisen.