Moi moin!
Mit diesem Freund brauchst Du keine Feinde mehr!
Das, was da "programmiert" wurde, ist so ziemlich die gefährlichste Standard-Sicherheitslücke, die es gibt. Lad das bloß nicht auf öffentlich zugänglichen PHP-Server hoch.
Tom, du erzählst Blödsinn.
Das tut er ganz gewiss nicht, denn das Script ist ausreichend, um unter Umständen beliebigen Code (muß nicht mal PHP sein) auszuführen:
1.) Ich starte einen HTTP-POST-Request mit enthaltenen Files (ein PHP-Script
und einen Weiteren File).
Der Request wird vom Server verarbeitet indem Files in das konfigurierte
UploadVerzeichnis abgelegt werden. Dieses muß von PHP lesbar sein und
es ist auch innerhalb der open_basedir-Restriction PHPs, da sonst PHP
keinen Upload verarbeiten könnte. Aktivierte Safmode tut hier NICHTS!
Somit sind durch UploadVerzeichnis ALLE Sicherheitsmaßnahmen, die PHP zu
bieten hat, außer Kraft gesetzt.
2.) Ich starte einen HTTP-GET-Request mit den drei heufigsten UploadVer-
zeichnisorten => ?show=/tmp ?show=/tmp/php ?show=../tmp
PHP liefert, per Fehlermeldung schon, das richtige Verzeichnis. Sonst
einfach testen, testen, testen.
3.) Habe ich das Uploadverzeichnis so ermittelt kann ich mich mit parallelen
Requests heranmachen per brut force den Namen zu knacken. Dir Wahrschein-
lichkeit, daß mir das gelingt ist sehr gering - geht aber bei durch-
schnittlich 2000 Request pro Minute, die möglich sind, nicht gegen NULL.
Verlangsame ich den Request zu erstens nach erfolgtem erstem Scriptup-
load bis auf max_input_time, ist die Wahrscheinlichkeit sehr groß Code
ausführen zu können.
Gruß aus Berlin!
eddi
Wer Rechtschreibfehler findet, darf sie behalten.