"We are back" « oc.at

Apache/PHP: File-Upload - Wie sicher?

DJ_Cyberdance 26.09.2006 - 09:23 737 0
Posts

DJ_Cyberdance

Here to stay
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
Folgende Situation:
Ich hab einen Webserver mit selbstgestricktem CMS. Die Webpages liegen im entsprechenden Dir, dieses Dir hat zwei Subdirs: upload und cms. Letzteres is mit .htaccess geschützt. In diesem Subdir ist auch ein Script zum Raufladen von Bildern. Das Script legt diese Bilder im upload-Dir ab. Das Script überprüft außerdem noch, ob sichs wirklich um Bilder handelt. Scripts raufzuladen funktioniert also gar nicht, selbst wenn jemand das Passwort für .htaccess rauskriegt. Soweit, so gut. Das einzige Upload-Script ist also mit .htaccess geschützt.

Dennoch: Das upload-Subdir hat Lese- und Schreibrechte für den Apache-User, damit er dort die Bilder hinschreiben kann. Diese Bilder werden dann im HTML-Code über <img src='host.name/upload/xyz.jpg' /> eingebunden.

Jetzt meine Frage, stellt dieses Modell ein generelles Sicherheitsrisiko dar? Wie gesagt, es gibt genau einen Nutzer, der über .htaccess auf das cms und den Dateiupload zugreifen kann.

Ich frage deswegen so blöd, weil in genau diesem upload-Dir php-Code zu finden war, der nicht von mir stammt und eindeutig Schadroutinen enthält und ich wissen will, wie der dorthin gelangt ist.

Ich hab in der Zwischenzeit eine etwas sicherere Lösung implementiert, für alle Fälle, das Upload-dir ist jetzt nicht mehr im document-root vom Apache, sondern außerhalb. Und die Bilder kommen jetzt durch ein php-Script mittels readfile, sieht also so aus jetzt: <img src='host.name/showimage.php?id=N' />

Das erscheint zumindest sicherer, aber dennoch würds mich interessieren, wie diese Scripts in das Upload-Dir gekommen sind und ob das obengenannte Konzept prinzipiell schwachsinnig ist.
Bearbeitet von DJ_Cyberdance am 26.09.2006, 09:25
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz