Hallo Tom,
Wird das wieder zum "Self-Join" hier? Schade eigentlich.
nein, keine Sorge.
Die Aufgabe ist klar: Ein JPG bauen, dass PHP(-Schad)-Code enthält und vom Parser als PHP-File durchgewinkt wird...
Hab ich. Wie schon vorher beschrieben: Zum Ausprobieren nur mal eben den EXIF-Eintrag "Software/Firmware" im Abschnitt "Kamera" per Hex-Editor mit einem harmlosen fopen-Aufruf überschrieben.
Mein Testserver (Apache 2.0 mit PHP 5.0 unter Windows) liefert das ohne mit der Wimper zu zucken als "text/html" mit Status 200 aus und führt den PHP-Code aus. Wegen des falschen Content-Type zeigen IE und FF (andere nicht getestet) das Bild normalerweise nicht an. Normalerweise heißt: Drückt man ein paarmal auf F5, lassen sich beide Browser irgendwann überrumpeln und zeigen das Bild trotz falschem Content-Type an. Herkömmliche Bildbearbeitungssoftware hat sowieso kein Problem damit, denn die kennt keine MIME-Types.
Plaziere ich dieselbe Datei auf meinen Webspace beim Hoster (Apache 2.0 mit PHP 5.2 unter Linux) und rufe die Ressource von dort ab, bekomme ich einen Status 500. Ich habe noch nicht herausgefunden, warum. Eine herkömmliche PHP-Datei, die nur die im JPEG eingepflanzte Anweisung und ein paar sinnlose Zeichen drumherum enthält, wird fehlerfrei ausgeführt.
$_img = Ggtimagesize()$bilddatei, $_imginfo)
winkt die infizierten JPGs jedenfalls einwandfrei durch:
Sicher. Es ist ja auch nicht verboten, dass EXIF-Einträge die Zeichenfolge <?php ... ?> enthalten, und der Zugriff erfolgt schließlich mit gewöhnlichen Dateioperationen.
Ciao,
Martin
Ich stehe eigentlich gern früh auf.
Außer morgens.