Perl - Sicherheit beim Script
Jens Irrgang
- cgi
0 MS0 Michael Schröpl
Hallo, was sollte ich alles beachten um ein relativ sicheres Script zu erstellen?
Folgende Funktionen brauche ich:
1.) Fileupload - Dateinamen erstelle ich selber - ich lasse nur eine bestimmte Größe zu und nur bestimmte Dateiendungen.
2.) Schreiben der Daten aus einem Formular in eine Datei - ich erstelle auch hier den Dateinamen selber - aus der aktuellen Zeit.
3.) Senden einer Email an den Betreiber - eine feste Adresse im Script - nicht aus dem Formular.
Ausserdem würde ich gerne eine Bestätigungsmail zum Verifizieren des Eintrages an den Ausfüllenden schicken - ich benutze die Routine von xwolf zum Checken der Emailadresse auf böse Versuche.
Ich frage mich jetzt, habe ich etwas übersehen?
Alle Texteingaben werden durch ein RegExp gejagt, die alles rausfiltert was meiner Meinung nach nicht in einen Text gehören. Ausserdem lösche ich alle eventuellen HTML-Tags.
Danke für eure Tipps im Voraus
Jens
Hallo !
Hier ein guter Tip aus meiner Erfahrung:
Dein Script ist Sicher, wenn du alle externen Zugriffe von Perl
(Damit meine ich z.B. Dateizugriff, Befehl ausführen oder eMail
zuschicken) völlig von den Eingaben im Formular abtrennst.
Die Eingaben vom Formular sollten nur als Daten gesehen werden,
nur als simple Variablen.
Beispiel:
Der Dateiname sollte z.B. nicht aus dem Namen des Besuchers
erstellt werden, sondern aus dem Datum und einer Zufallszahl.
Eine enorme Sicherheitslücke z.B. wäre, wenn sich der Besucher
den Dateinamen selbst auswählen könnte.
z.B. "|/usr/sbin/sendmail -t"
Martin
Hi Jens,
1.) Fileupload - Dateinamen erstelle ich selber -
ich lasse nur eine bestimmte Größe zu und nur
bestimmte Dateiendungen.
kennst Du irgend einen Browser, der das schon auf der Client-Seite unterstützt? Ich nicht ... auf der Server-Seite kannst Du natürlich das Speichern unterbinden, aber der Webserver mußte die Datenmassen zu diesem Zeitpunkt bereits über sich ergehen lassen.
Ich frage mich jetzt, habe ich etwas übersehen?
Ich finde Deine bisherigen Bestrebungen schon mal ziemlich gut. Aber bei xwolf bist Du an der Quelle in Sachen CGI-Security - stöber dort mal weiter herum ...
Viele Grüße
Michael