Sicherheit: formmailer, perl cgi Skript, htaccess

Diskutiere das Thema Sicherheit: formmailer, perl cgi Skript, htaccess im Forum Web-Programmierung

  1. 404

    404 Thread Starter Mitglied

    Beiträge:
    190
    Zustimmungen:
    7
    Mitglied seit:
    20.02.2015
    Hallo.

    Ich hoffe, ihr wisst Antwort auf Sicherheitsfragen, die ich als Anfänger/Autodidakt so habe:

    -1-
    Ich wollte vielleicht ein Kontaktformular erstellen und teste das gerade. Es ruft mit onsubmit ein JS-Skript zur Validierung auf, welches, sofern alle Felder (Name, Email, Text) i.O. sind, mir den Inhalt über ein PerlSkript per Email zuschickt.
    Bei dem Perlskript, das außerhalb des Document Root im Ordner cgi-Skripte mit den Rechten 755 liegt, handelt es sich um den bekannten Formmailer (1.93): http://www.scriptarchive.com/formmail.html
    Im Document Root des Kontaktformulars liegt noch eine htaccess, die u.a. Schutz gegen das Auslesen der htaccess und -Indexes beinhaltet.

    Mein Frage: Kann jemand trotzdem noch den genauen Inhalt meines modifizierten Perlskripts auslesen?
    Falls ja: wie genau (damit ichs nachvollziehen kann)? Und wie kann ich mich dagegen schützen?

    -2-
    Allgemein zu htaccess:
    Code:
    <Files ~ "^.*\.([Hh][Tt][Aa])">
     order allow,deny
     deny from all
     satisfy all
    </Files>
    Options -Indexes
    
    Wenn eine htaccess den Code oben beinhaltet, ist es dann trotzdem noch (irgendwie) möglich, den Inhalt eines Ordners aufzulisten, also alle Unterordner und Dateien darin anzeigen zu lassen?
    Sollten meine Domains gescannt werden von irgendwelchen obskuren IPs, packe ich einige private Sachen lieber in Unterordner mit seltsamen Namen. Könnte jemand diese Unterordner trotz htaccess (s.o.) ganz einfach listen, wäre das sinnlos.

    Bin für jeden Hinweis dankbar, der zu mehr Sicherheit beiträgt.
     
  2. ruerueka

    ruerueka Mitglied

    Beiträge:
    1.177
    Zustimmungen:
    124
    Mitglied seit:
    04.04.2004
    Das von dir verwendete pl Skript wäre mir zu alt. Bei selfhtml findest du ein moderneres (aber aufwändigeres) Beispiel in php, mehr noch natürlich bei github etc.
    https://wiki.selfhtml.org/wiki/PHP/Tutorials/Formmailer-Advanced
    Es gibt mittlerweile auch Hoster, die keine Perl-Skripte mehr ausführen.

    Zu htaccess: wenn du kein Directory Listing über http angezeigt bekommst, sieht es auch kein anderer. Du kannst ja aber zusätzlich noch eine leere Index.html in das Verzeichnis legen. Gegen URLs erraten hilft das aber nicht. Ich prüfe zb in meinem Kontaktformular, ob der Aufruf darauf aus der eigenen Webseite kommt und sende nur Mails über das Skript, wenn das auch passt. Kombiniere das mit einem beliebigen „ich bin kein Roboter“ Skript und fertig..

    Zum Quelltext einsehen: wenn der Webserver richtig konfiguriert ist, kann man den Quelltext eines ausführbaren Skriptes nicht über http einsehen, immer nur die Ergebnisse des Aufrufs. Die Sicherheitsprobleme entstehen auf vielen anderen Wegen: durch fehlerhaft eingerichtete Upload-Möglichkeiten für User und gesetzte Berechtigungen auf den hochgeladenen Dateien. Denn wenn ich die Möglichkeit habe, irgendwo auf deinem Webspace eine ausführbare Datei abzulegen (php,pl, egal..) hebel ich dir damit locker alle htaccess Einstellungen aus...

    Ps: deine htaccess Definition hab ich jetzt nicht auf Korrektheit angeschaut...

    Pps: einige Threads zurück hat oglimmer auf eine tolle Informationsquelle zum Thema Sicherheit bei der Webprogrammierung hingewiesen. Wenn du also tiefer einsteigen willst: https://www.owasp.org/index.php/Testing_Guide_Frontispiece
     
  3. 404

    404 Thread Starter Mitglied

    Beiträge:
    190
    Zustimmungen:
    7
    Mitglied seit:
    20.02.2015
    Vielen Dank für deine ausführliche Antwort und den Link.

    Stimmt, ist alt, scheint aber recht "robust". Nachdem ich mir Standard php-Lösungen dafür angesehen hab, glaube ich, dass mir das Perlskript vielleicht schon reicht. Es überprüft z.B. auch den Referer, und soweit ich sehen konnte, auch die Feldeingaben auf unerwünschten Code usw.
    Ich kann leider nicht beurteilen, ob es ganz allgemein - vom Inhalt des Skripts mal abgesehen - relevante Unterschiede in Sachen Sicherheit gibt zwischen einem Perlskript, das außerhalb des Document Root mit 755 Berechtigungen läge und von einem Javascript über den Pfad "../cgis/perlskript.pl" aufgerufen würde, und einer php-Lösung innerhalb des Document Root. Uploads/Anhänge sind im Kontaktformular nicht vorgesehen.

    Warum?
     
  4. oglimmer

    oglimmer Mitglied

    Beiträge:
    1.211
    Zustimmungen:
    110
    Mitglied seit:
    16.11.2004
    > Du kannst ja aber zusätzlich noch eine leere Index.html in das Verzeichnis legen.

    Ohne index.html basiert deine Sicherheit darauf, dass der Webserver richtig konfiguriert ist und kein Index listing generiert. Das klappt solange - aus welchem dummen Grund auch immer - sich die Konfiguration nicht ändert, nicht überschrieben wird oder einfach nicht (mehr) greift.

    > php vs. perl

    Bin da kein Experte und ich glaube es wird Gründe für und wieder beide Seiten geben. Ich entscheide solche Dinge danach wo ich mehr Ahnung habe, bzw. wo ich bereit bin mich ordentlich einzulesen. Dann eins kann ich mit Sicherheit sagen: egal ob php oder perl, wenn man das "falsch" macht, dann hat man eine Menge Security Probleme ;)
     
Die Seite wird geladen...

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...