Hallo,
* Erzeuge mit einem Programm deiner Wahl darin einen EXIF-Eintrag mit folgendem Inhalt:
<?php header("Content-Type: image/jpeg"); fopen("0","w"); ?>
a) Die Ressource wird mit dem Content-Type image/jpeg ausgeliefert, ein typischer Browser merkt also nichts Verdächtiges.
Sicher? Kommt da nicht das berüchtigte Cannot modify header information - headers already sent wegen anderer Daten von vor dem Exif-Bereich?
stimmt, ich hatte bei meinen Vorab-Tests auf den richtigen Content-Type verzichtet.
Lässt man den Aufruf der header-Funktion weg, dann täuscht man aber zumindest IEs, die ja bekanntlich auf den Content-Type-Header sch**** und stattdessen die Ressource lieber so interpretieren, wie es der Kontext erfordert. Ein IE würde also auch mit falschen Header ein Bild anzeigen, wenn er ein Bild erwartet; andere Browser ihr "Broken Image"-Symbol.
Und selbst wenn, auf den korrekten Header sei verzichtet. Hauptsache es führt den PHP-Code aus und installiert die Backdoor auf dem Server. Der Angreifer wird nicht warten, bis zufällig jemand vorbeikommt und die Bildressource abfragt. Er wird das selbst tun und dann gleich mit der Backdoor das verdächtige Bild löschen.
Eben. Was stört es mich Bösewicht, wenn das Bild, das sowieso nur Träger der meiner Waffe ist, nicht korrekt angezeit wird!
So long,
Martin
Paradox ist, wenn der Innenminister sich äußert und der Außenminister sich erinnert.