Angua: Dateiformats-Kontrolle

Beitrag lesen

Kleines Denkspiel zum Auftakt:

Wäre es trotzdem noch möglich, JPG-Dateien mit der Endung *.php hochzuladen?

Kann eine Datei mit ausführbarem php Code so gestaltet sein, dass sie eine korrekte Bildhöhe und -breite ausgibt, wenn das mit getimagesize() geprüft wird?
Wenn nein sollte das keine Sicherheitslücke bedeuten, da diese Werte ebenfalls kontrolliert werden.
Man könnte vielleicht ein Bild in .php umbenennen und es "durchschmuggeln", aber ich sehe nicht wie das dann Schaden anrichten könnte.

Lässt sich das nachvollziehen mit den beiden Usern?
Dann baue für sie ein Testscript, dass ihnen neben der Fehlermeldung auch den Rückgabewert der Funktion getimagesize() und den Inhalt von $_FILES['theimage']['type'] anzeigt und bitte sie, Dir diese Ergebnisse per Copy & Paste per eMail zuzusenden.

Vergiss bei der Anzeige in der Webseite nicht, htmlspecialchars() anzuwenden
siehe http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel

In welchem Sinne kann das Weglassen da eigentlich gefährlich sein? Könnten dann z.B. eine iframes eingefügt werden?

Ich vermute, dass es mit der Groß-/Kleinschreibung zu tun hat, oder dass der Client versehentlich den Typ "image/jpg" meldet. Der Clientangabe solltest Du sowieso nicht vertrauen. Die ist beliebig fälschbar.

Ok das werd ich mal prüfen. Danke schon soweit.