Page 1 of 1
Präparierte *.jpg Dateien
Posted: 2012-03-19 10:43
by adjustman
Hallo,
eben hab ich festgestellt, dass man 2, als *.jpg "getarnte",
PHP-Dateien über die Attachment Funktion eines
Kontaktformulars hochgeladen hat. Der php Inhalt war von der ganz bösen
Sorte. Gibt es eine Möglichkeit, sowas generell zu verhindern, ohne
die Upload Funktion nicht anzubieten? :-$
Re: Präparierte *.jpg Dateien
Posted: 2012-03-19 11:03
by getphp
Hallo,
das hängt davon ab, welche Dateien für den Upload erlaubt sind.
Wenn es nur Bilder sein dürfen, dann kannst du mit der PHP-Funktion "getimagesize" prüfen, ob gültige Daten geliefert werden und kannst damit Nicht-Bilder aussortieren.
Grüße
Re: Präparierte *.jpg Dateien
Posted: 2012-03-19 12:13
by Joe User
Man muss auf mehreren Ebenen ansetzen, die Erste ist das Problem der mehrfachen Dateiendungen wie foobar.php.jpg und lässt sich bereits im Webserver abfangen, für Apache z.B. nach diesem Muster:
Code: Select all
### old
#AddHandler php5-script .php .phps
#AddHandler cgi-script .cgi .pl
### new
<FilesMatch "\.(php|phps)$">
SetHandler php5-script
</FilesMatch>
<FilesMatch "\.(cgi|pl)$">
SetHandler cgi-script
</FilesMatch>
Die nächste Ebene ist im Input-Tag der HTML:
Code: Select all
<!-- old
<input type="file">
-->
<!-- new -->
<input type="file" accept="image/gif,imgage/png,image/jpeg">
Und die letzte Ebene ist das Prüfen der hochgeladenen Files in der WebApp selbst.
Diese drei Elemente gemeinsam verhindern 99,8% der unerwünschten Uploads.
Re: Präparierte *.jpg Dateien
Posted: 2012-03-19 13:27
by adjustman
EDIT: Danke Joe :)
Re: Präparierte *.jpg Dateien
Posted: 2012-03-19 13:33
by Joe User
Wenn Du auf der möglichst sicheren Seite sein willst, dann geht es nur so.