Seite per Link mit neuem Inhalt laden

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

  • #16
    @zzet/ Nezzar

    Sorry wenn ich jetzt vielleicht ein bissl blöd frag,
    aber wo liegt denn bei
    PHP-Code:
    include ($_GET['textdatei']); 
    ein Sicherheitsrisiko
    Hier könnte Ihre Werbung stehen! Bei Interesse wenden Sie sich bitte an den Inhaber dieser Signatur...

    Kommentar


    • #17
      mir würde spontan einfallen, dass du, wenn du textdatei im link als parameter hast, ja auch schreiben kannst xyz.php?textdatei=supergeheime_datei
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #18
        Original geschrieben von Wuaschdl
        @zzet/ Nezzar

        Sorry wenn ich jetzt vielleicht ein bissl blöd frag,
        aber wo liegt denn bei
        PHP-Code:
        include ($_GET['textdatei']); 
        ein Sicherheitsrisiko
        man könnte zum beispiel seine seite so aufrufen:

        http://www.seineseite.de/index.php?t...inesscript.php

        wenn er schon irgendwo die db offen hätte, könnte ich jetzt alles verwüsten und ähnliiches...

        Kommentar


        • #19
          Ganz klar ist mir das noch nicht,
          auf meine DB kommt man doch normalerweise nur mit den richtigen Logindaten?
          Hier könnte Ihre Werbung stehen! Bei Interesse wenden Sie sich bitte an den Inhaber dieser Signatur...

          Kommentar


          • #20
            @Wuaschdl:

            er brauch deine Logindaten nicht unbedingt.
            Meistens ist es ja so, das zum Anfang der Scripte eine DB
            Verbindung aufgebaut wird.
            Irgendwann später im Script kommt dann dieses gefährliche
            include, und da ist die DB Verbindung schon offen, man
            brauch sie nurnoch nutzen.

            und das würde dann in der Reihenfolge:

            1. show tables => alle Tabellen anzeigen
            2. describe table xy => Details zu eineer Tabelle abfragen
            3. select ... from ... oder DROP oder was weiß ich

            erfolgen. Ohne Logindaten, die gesammte DB übernommen
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Kommentar


            • #21
              Aha, verstehe.
              Das lässt sich praktisch nur durch ein "mysqlclose ();" vor jedem include verhindern (das würde das Script aber merklich verlangsamen und umständlich ist es auch noch) bzw. durch das Script auf Seite 1 dieses Threads?
              Hier könnte Ihre Werbung stehen! Bei Interesse wenden Sie sich bitte an den Inhaber dieser Signatur...

              Kommentar


              • #22
                oder KEINE vom Benutzer übergebenen Variablen mit

                include
                require
                eval

                benutzen, sondern immer über einen Kontrollmechanismus
                gehen, zB der Array oder der Switch Variante von oben
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Kommentar


                • #23
                  Würde es nicht schon genügen, wenn man einfach keine externen Includes zulässt?
                  So könnte dann niemand ein "böses" Skript von aussen includen.

                  Kommentar


                  • #24
                    und was ist, wenn du den bösen Text in ein Input-Feld oder eine Textarea schreibst ?
                    TBT

                    Die zwei wichtigsten Regeln für eine berufliche Karriere:
                    1. Verrate niemals alles was du weißt!


                    PHP 2 AllPatrizier II Browsergame

                    Kommentar


                    • #25
                      Original geschrieben von Bomania
                      Help, kann mir keiner weiterhelfen? Was stimmt denn an diesem Quellcode nicht?

                      include ("$_GET['dat'].txt")
                      Bei Benutzung von assoziativen Arrays in "Gänsefüßchen" darf der Index nicht in 'Hochkommata' stehen:
                      include ("$_GET[dat].txt")
                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #26
                        man könnte auch ...
                        $dat = preg_replace('/[^a-z0-9_]/i', '', $_GET['dat']);
                        ... einfach alles was nicht Buchstabe, Ziffer oder Unterstrich ist,
                        aus dem Parameter entfernen (eventuell noch den Punkt zulassen: '/[^a-z0-9_\.]/i') und dann ...
                        include ("inhalt/$dat.txt");
                        ... die gewünschte Seite includen.

                        (optisch) noch besser:
                        statt einem einfachen include benutzt man dieses:
                        PHP-Code:
                        if (file_exist($fn="inhalt/$dat.txt"))
                        {
                          include 
                        $fn;
                        }
                        else
                          echo 
                        "Seite '$_GET[dat]' wurde nicht gefunden."
                        mein Sport: mein Frühstück: meine Arbeit:

                        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                        Kommentar

                        Lädt...
                        X