Maik Görgens: 2 Fragen zur CGI-Sicherheit

Hallo ihr Lieben,

ich hab da mal 2 Fragen bzgl. Sicherheit, da ich zur Zeit ein Umfangreiches Projekt entwickle, das möglichst sicher und fehlerfrei sein sollte.

1.) Wie kann ich bei CGI-Scripten mehrere Zugriffe gleichzeitig abfangen?

2.) Von dem Benutzer kommt ein best. Wort via GET, nun soll eine Datei mit genau dem selben Namen geöffnet werden. Ich prüfe aber vorher mit if(-e $datei), ob die Datei überhaupt exestiert und öffne sie nur wenn sie exestiert. Ist das sicher genug (auch bzgl. Angriffen, wo man Wörter wie finger etc. eingibt).

Ich hoffe, ihr habt meine Fragen verstanden.

Danke Maik

  1. Hi,

    1.) Wie kann ich bei CGI-Scripten mehrere Zugriffe gleichzeitig abfangen?

    Durch
     a) intelligentes Filelocking
    oder
     b) einen Monitor/Daemon-Prozess der die Zugriffe verwaltet

    2.) Von dem Benutzer kommt ein best. Wort via GET, nun soll eine Datei mit genau dem selben Namen geöffnet werden. Ich prüfe aber vorher mit if(-e $datei), ob die Datei überhaupt exestiert und öffne sie nur wenn sie exestiert. Ist das sicher genug (auch bzgl. Angriffen, wo man Wörter wie finger etc. eingibt).

    Nun ja, wenn du dein Passwort und dein Login oeffentlich machst und
    daneben schreibst, dass die Leute dies nur nutzen sollen, wenn sie
    -einmal eingeloggt- nur 'ls', 'cd', 'less' oder 'cat' machen, dann
    kannst du sicher davon ausgehen, dass dies sicher und es niemals
    jemand geben wird, der sich nicht dran haelt :))
    Quatsch.
    Natuerlich musst du die ganze Eingabe
     a) nach etwaigen Sonderzeichen parsen,
     b) checken ob die abzurufende Datei erlaubt und
        im richtigen Verzeichnis ist (und nicht etwa "/etc/passwd" ist!!!).
    und
     c) verhindern, dass jemand dir zu viel Daten schickt (nach wieviel GB
        uebertragenden Daten macht dein Account schlapp oder loescht
        der Serveradmin dein verzeichnis?).

    So und mehr hab ich nicht Lust zu schreiben, weil ich das schon getan hab:
    http://www.xwolf.com/artikel/cgisec.shtml

    Ciao,
     Wolfgang