Bildupload, aber bitte SICHER !

killerkarotte

Registered User
Hallo,

ich habe da ein größeres Problem, aber mir will keine echte Lösung einfallen, deswegen wede ich mich vertrauensvoll an euch. ALSO:

Ich habe eine Webseite und jede Menge Pics dazu. Diese Bilder habe ich im Ordner XY abgelegt und dem Ordner 777 im chmod mitgegeben. Normalerweise geht das ja auch gut, bei mir aber nicht, denn irgendwelche Assis haben sich nen Spaß draus gemacht und allerhand darin abgelegt. Und zwat trotz getimagesize()...Insofern scheint das Verzeichnis (wenn es mal 777 hat) zu sein wie ein Scheuenentor...

Jetzt hab ich natürlich die Rechte des Ordners auf 755 zurückgesetzt, aber jetzt funktionieren alle meine Skripte für den Bildupload nicht mehr.

Habe testweise mal auch alle Bilder in die DB geschrieben, aber das dürfte weder performancetechnisch gut sein, noch ist es gerade easy zu handeln.

Wie also läßt sich ein sicherer Fileupload realisieren ?

Grüße
KK
 
Du läßt leider offen, was für Dinge darin abgelegt worden sind.

Wenn es z.B. PHP-Scripte sind, die die dann ausgeführt haben hilft z.B. das
Verlegen des Bilder-Verzeichnises ausserhalb des DocumentRoot.

Ansonsten mußt Du in Deinem Script genauer Prüfen, was für ein Content nun wirklich in der Datei ist.

huschi.
 
Zu tty0 Vorschlag kannst Du vorne weg noch die Dateiendung pruefen (nicht, dass das eine Sicherheitsmassnahme waere, aber ist wie mit der Portverlegung bei SSH), dann kann ich dir durchaus CAPTCHA empfehlen, um eine Automatisierung zu verhindern und obendrauf kannst Du dann, sofern gewuenscht auch noch diverse Upload-Sperren errichten (max. 5 Files / Min) oder was auch immer Dir da so einfaellt...
 
Erstmal danke für die Hinweise bis hierhin. Aber es gibt da doch einiges was ich nicht verstehe. Also:

Das Verzeichnis in welches ich mit einem Skript Daten hochlade stand auf 777. Mein Skript hab ich mit einer PHPBB Session verknüpft, so daß eigentlich nur ich Zugriff auf das Skript hatte.

Dennoch haben es Hacker geschafft allerhand in dem Verzeichnis abzulegen, Bilder, ausführbare Dateien aller Art (zb iroffer, lief nachher auch als Prozess auf dem Server). Es war zwar nichts wirklich dramatisches dabei aber der Server schien mir danach so unsicher, dass ich ihn neu installiert habe.

Jetzt frage ich mich natürlich, wie die das gemacht haben, denn im Moment hab ich zwar alle Verzeichnisse auf 755, aber ich kann meine Skripte derzeit nicht so nutzen wie gedacht.

Wo ist also der Haken ? Was habe ich übersehen, dass sowas passieren konnte ?
 
Dem Hacker reicht es ja schon ein einziges Script auf den Server zu schleusen, welches dann im DokumentRoot abgelegt wird, oder (genauso schlimm) per Script eingebunden wird. Meistens sind dies Fälle von Cross-Site-Scripting (XSS) welche nur durch genaue Prüfung und Quotierung aller eingehenden Variablen, Cookies etc. abzufangen sind.

Wenn Du Hilfe brauchst die Scripte abzusichern, mußt Du sie auch offen legen.

huschi.
 
Also ich hab mich jetzt mal hingesetzt und mir einige Gedanken gemacht. Wäre nett wenn ihr mir sagen könntet, was ihr jetzt davon haltet:

1.) Ich habe das Verzeichnis XY auf 777 gesetzt
2.) In das Verzeichnis XX habe ich das Skript gepackt
3.) XX ist mit htaccess geschützt
4.) Zusätzlich benötigt man die richtige Session aus dem PHPBB-Board
5.) Ob das was hochgeladen wird wirklich ein JPG ist prüfe ich mit
http://www.php.net/exif_imagetype

Ich denke das sollte doch schon ein ganz guter Schutz sein, oder ?

Grüße
KK
 
Back
Top