Hello,
Schau dir das mal an, dieses Bilder-Upload-Script hat eine fiese Sicherheitslücke:
Die Sicherheitslücke beruht auf einem Fehler in der Datei processing.php. Diese ermöglicht das Hochladen von Dateien mit mehreren Dateiendungen in einem Ordner innerhalb des Web-Root.
Dies kann dazu ausgenutzt werden, um z. B. das Ausführen von beliebigem PHP-Code durch Hochladen einer speziell gestalteten PHP-Skript, welches eine “GIF magic number” enthält.
Ja, genau um solche Scripte ging es.
Wenn beim Upload von Bildern nicht gewährleistet ist, dass diese keinesfalls geparst werden, dann können sich z.B. in den Exif-Daten ganze PHP-Scripte verstecken, die dann auch ausgeführt werden. Hierzu ist es aber notwendig, dass alle anderen Bilddaten keine für den PHP-Parser unerlaubten Steuerzeichen darstellen. Sonst streikt der zum Glück. Das ist z.Zt. noch die einzige "Versicherung".
Nun könnte man prüfen, dass ausschließlich Dateien mit den Endungen *.gif, *.png, *.jpg, *.bmp, *.tif usw, hochgeladen werden können. Das würde schon mal für Abhilfe sorgen. Besser wäre es aber, das Parsen im Bilder-Directory vollständig zu unterbinden.
Solange die Bilder außerhalb der Document-Root gespeichert werden, stellt das auch kein Problem dar. Nur dann muss jedes angeforderte Bild wieder durch ein Script ausgeliefert werden...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg