Tom: Datensicherheit

Wie schwer oder einfach ist es eigentlich, sich eine cgi-/pl-Datei anzeigen zu lassen? Oder anders gefragt: Wie sicher sind sensible Daten, die als .cgi oder .pl auf dem Server liegen?

Fragt neugierig der Tom

  1. Hi,

    Wie schwer oder einfach ist es eigentlich, sich eine cgi-/pl-Datei anzeigen zu lassen? Oder anders gefragt: Wie sicher sind sensible Daten, die als .cgi oder .pl auf dem Server liegen?

    wenn alles korrekt eingestellt ist, sprich zumindest ein Perl-Interperter insatlliert ist kann ein User das Script _nur_ Ausführen.
    Der Quelltext bleibt ihm verborgen. Was jedoch nicht heißen soll, das dass Script ansich sicher ist. Bei schelchter Programmierung, könne evtl. root Rechte auf dem Server erlangt und somit Zugriff auf die sensiblen Daten des Servers ermöglicht werden.

    Gruß

    ueps

    1. wenn alles korrekt eingestellt ist, sprich zumindest ein Perl-Interperter insatlliert ist kann ein User das Script _nur_ Ausführen.
      Der Quelltext bleibt ihm verborgen. Was jedoch nicht heißen soll, das dass Script ansich sicher ist. Bei schelchter Programmierung, könne evtl. root Rechte auf dem Server erlangt und somit Zugriff auf die sensiblen Daten des Servers ermöglicht werden.

      Gruß

      ueps

      Hallo ueps,

      danke für den Tip. Hat geholfen.

      Tom

    2. RE: Schlecht programmiert, wie zB. so:

      #!usr/bin/perl

      $Datei = $ARGV[0];  # oder meinetwegen auch $ENV{'QUERY_STRING'} statt $ARGV[0]

      open(DATA,"<$Datei") || die;
      @Temp = <DATA>;
      close(DATA);

      foreach(@Temp) {
        print "$_\n";
      }

      ...wenn jetzt z.B. das Script "abc.pl" heißt und
      jemand "abc.pl?abc.pl" aufruft kann er sich's
      auch anschauen...

    3. Hi ueps,

      wenn alles korrekt eingestellt ist, sprich zumindest ein Perl-Interperter
      insatlliert ist

      was hat die Installation eines Perl-Interpreters mit der korrekten
      Konfiguration eines Webservers zu tun? Also so leicht geht das nicht ...

      Viele Grüße
            Michael

      1. Hi Michael,

        was hat die Installation eines Perl-Interpreters mit der korrekten
        Konfiguration eines Webservers zu tun? Also so leicht geht das nicht ...

        Wenn zumindest ein Interpreter da ist und im Webserver die Endungen .pl bzw. .cgi richtig zugeordnet sind wird das Script zumindest mal ausgeführt. Kopiert man die Scripts auf einen Server der kein Perl unterstützt wird die Datei im Regelfall angezeigt und somit evtuell wichtige ProgrammCodes zugänglich gemacht. Ich denke es ging hier in erster Linie darum, das man nicht in den Quelltext schauen kann und nicht unbedingt um Sicherheitslücken die bezüglich Scriptfehler entstehen können. Klar das auch der Sever einigermaßen richtig konfiguriert sein muss.

        Gruß

        ueps

        1. Hi ueps,

          Wenn ... und im Webserver die Endungen .pl bzw. .cgi richtig zugeordnet
          sind

          Eben. Und wenn nicht?
          Mit dem Perl-Interpreter hat dieser Teil jedenfalls nichts mehr zu tun.

          Mal ganz abgesehen davon, daß es üblicherweise _überhaupt nicht_ auf die
          Endung einer Datei ankommt, ob ihr Inhalt an den Client gesendet wird
          oder nicht ...
          (http://aktuell.de.selfhtml.org/artikel/cgiperl/inbetriebnahme/#a6)

          Kopiert man die Scripts auf einen Server der kein Perl unterstützt wird
          die Datei im Regelfall angezeigt

          Eben nicht - siehe den genannten Link.

          Innerhalb eines /cgi-bin-Verzeichnisses wird der Inhalt _nie_ angezeigt -
          wenn kein Perl-Interpreter da ist, gibt es einen internal server error.

          Viele Grüße
                Michael