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.
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.