JPEG-Virus und wie man ihn unterbindet

Moin zusammen,

es gab ja in jüngerer Vergangenheit mal eine Schwachstelle bei Windows, die es ermöglichte, über JPEG-Dateien beliebigen Code auf dem Rechner des Betrachters auszuführen.

Nun entwickle ich zur Zeit an einer Seite, über die es für Besucher möglich sein wird, Bilder hochzuladen, die dann allgemein sichtbar sein werden. Schlecht wäre es natürlich nun, wenn ein solches kompromittiertes Bild hochgeladen wird und irgendeiner, der sein System noch nicht gepatcht hat, hat dann den Salat - selber Schuld, ich weiß, aber man muss es ja nicht provozieren ;)

Die Frage ist also nun, wie könnte ich das umgehen? Ich hab leider keine Beispieldatei, anhand derer ich mal einige Sachen ausprobieren könnte um zu schauen wie sie sich verhält. Mich würde beispielsweise interessieren, ob `file` unter Linux was korrektes ausgibt, ob PHP-Funktionen, die den Bildtyp bestimmen (getimagesize oder das $_FILES-Array) den Bildtyp korrekt erkennen würden, ob es was bringen würde, das Bild mittels imagemagick oder einer GDlib-Funktion einfach so wie es ist nochmal abzuspeichern, ob ein Virenscanner wie fprot damit umgehen könnte etc.

Vielleicht hat hier ja jemand ein paar weiterführende Informationen diesbezüglich oder eben ein Beispiel-Bild, damit ich das selbst mal untersuchen kann.
 
Abend ;)

naja,
http://www.securityfocus.com/bid/11173/exploit
da gibts so einiges (auch Testjpgs)

http://www.securityfocus.com/archive/1/375204
Technical
------------------------
JPEG Comment sections (COM) allow for the embedding of comment data
into a JPEG image. COM sections are marked beginning with 0xFFFE
followed by a 16 bit unsigned integer in network byte order giving
the total comment length + the 2 bytes for the length field; a
single JPEG COM section could therefore contain 65533 bytes of
invisible data (invisible in the sense that it's not rendered as
part of the image). Because the JPEG COM field length variable is 2
bytes wide, and itself is included in the length value, the minimum
value for this field is 2, this implies an empty comment. If the
comment length value is set to 1 or 0, a buffer overflow occurs
overwriting heap management structures.
l
Vielleicht kannst Du da was mit PHP Funktionen drumherum basteln ;)
 
Im JPEG-Kommentar also... na die Information ist doch schonmal viel Wert.

Denn den mit einem einfachen Befehl loszuwerden (z.B. mit convert -strip ...) sollte ja nun nicht das Problem sein. Danke dir, CDW :)

Wenn wir mal beim Thema sind, fallen denn jemandem noch andere bekannte Wege, wie man Bilder auf schädliche Art und Weise nutzen könnte (und damit meine ich net, dass man Schweinkram hochlädt, wo eigentlich ein Passbild hin soll *g)?
 
Zurück
Oben