Jeclo: Komische Sache

Ich rufe meine Webseiten immer z.b. mit ?seite=startseite auf.
dann wird die seite über $seite includet.
Das geht aber im Xammp nicht.
Ist das Unsicher oder was?

  1. hallo,

    Ich rufe meine Webseiten immer z.b. mit ?seite=startseite auf.

    Warum machst du das?

    dann wird die seite über $seite includet.

    Vermutlich, weil dein PHP das so vorsieht.

    Das geht aber im Xammp nicht.

    Dochdoch, das "geht" auch mit Xampp.

    Ist das Unsicher oder was?

    Ist das eine Frage oder was?

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Warum machst du das?

      Weil ich es für sicherer halte, wenn die User nicht wissen wo genau das Dokument liegt das aufgerufen wird.

      Vermutlich, weil dein PHP das so vorsieht.

      Oder weil ich es so programmiert habe. Man weiss es nicht.

      Dochdoch, das "geht" auch mit Xampp.

      Ja nu, wie denn ?

      Ist das eine Frage oder was?

      Ja genau

      Grüße aus Berlin

      Gruß aus Leverkusen

      1. Hi,

        Warum machst du das?
        Weil ich es für sicherer halte, wenn die User nicht wissen wo genau das Dokument liegt das aufgerufen wird.

        was hat das damit zu tun, und wenn es das hätte, wo wäre das Problem?

        Dochdoch, das "geht" auch mit Xampp.
        Ja nu, wie denn ?

        XAMPP ist mittlerweile - seit Jahren, um genauer zu sein - halbwegs brauchbar konfiguriert. Du kannst es natürlich auch fehlkonfigurieren, und dann geht dieser Unfug wieder.

        Ist das eine Frage oder was?
        Ja genau

        Drücke Dich klar und sinnvoll aus. Hier ist kein Stammtisch.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. was hat das damit zu tun, und wenn es das hätte, wo wäre das Problem?

          ist doch klar: wenn man nicht weiss wo das dokument liegt; weiss man nicht wo man hacken soll.

          XAMPP ist mittlerweile - seit Jahren, um genauer zu sein - halbwegs brauchbar konfiguriert. Du kannst es natürlich auch fehlkonfigurieren, und dann geht dieser Unfug wieder.

          Ich hab da garnichts konfiguriert.
          Ist es denn nun normal dass es so geht oder nicht?

          Drücke Dich klar und sinnvoll aus. Hier ist kein Stammtisch.

          Ich werde mir Mühe geben

          1. Hi,

            was hat das damit zu tun, und wenn es das hätte, wo wäre das Problem?
            ist doch klar: wenn man nicht weiss wo das dokument liegt; weiss man nicht wo man hacken soll.

            man weiß nicht, wo das Dokument liegt, nur weil die URL nach dem Domainpart direkt der Searchpart folgt. Darüber hinaus kann man sich bei derart stümperhaften URL-Konzepten ziemlich sicher sein, dass es eine "index.php"-benamste Datei im Document-Root gibt, mit der man *alles* hacken kann. Deine Begründung ist also nicht nur fadenscheinig, sondern entspricht zudem dem Gegenteil der Realität.

            XAMPP ist mittlerweile - seit Jahren, um genauer zu sein - halbwegs brauchbar konfiguriert. Du kannst es natürlich auch fehlkonfigurieren, und dann geht dieser Unfug wieder.
            Ich hab da garnichts konfiguriert.

            Gut so.

            Ist es denn nun normal dass es so geht oder nicht?

            Es ist normal und ohne den geringsten Zweifel *absolut* sinnvoll, dass keine Variablen plötzlich aus dem Nichts im Scriptcode existieren, nur weil ihre Namen in irgendwelchen vom Client beeinflussbaren Werten angegeben sind. Um genau zu sein: Alles andere, also insbesondere dass bei einem URL-Parameter namens "seite" eine Variable $seite vorliegt, ist absurd und ein erhebliches Sicherheitsrisiko.

            Drücke Dich klar und sinnvoll aus. Hier ist kein Stammtisch.
            Ich werde mir Mühe geben

            Danke sehr.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Es ist normal und ohne den geringsten Zweifel *absolut* sinnvoll, dass keine Variablen plötzlich aus dem Nichts im Scriptcode existieren, nur weil ihre Namen in irgendwelchen vom Client beeinflussbaren Werten angegeben sind. Um genau zu sein: Alles andere, also insbesondere dass bei einem URL-Parameter namens "seite" eine Variable $seite vorliegt, ist absurd und ein erhebliches Sicherheitsrisiko.

              $seite wird ja nur includet wenn sie wirklich existiert. Ansonsten wird eine Fehlermeldung ausgegeben.
              Warum ist das ein Sicherheitsrisiko?

              1. Hi,

                $seite wird ja nur includet wenn sie wirklich existiert.

                $seite ist eine *Variable*. Ob sie vorhanden ist oder nicht hat bei der falschen Konfiguration *nichts* mit Deinem Code zu tun ...

                Warum ist das ein Sicherheitsrisiko?

                ... unterliegt ergo nicht im Mindesten Deiner Kontrolle. Alles Weitere darfst Du in einschlägigen Quellen - Forenarchiv, Google etc. - nachschlagen, denn die Fehlkonfiguration wurde schon vor Jahren aus den Default-Einstellungen getilgt und wird seitdem stetig erfragt und diskursiert.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. öhm ...

                  $seite ist eine *Variable*. Ob sie vorhanden ist oder nicht

                  Sie _ist_ in diesem Fall vorhanden. Aber ob sie Inhalt hat, und welcher Inhalt das dann ist, das ist zu diskutieren bzw. unserem Azubi begreiflich zu machen ;-)

                  Grüße aus Berlin

                  Christoph S.

                  --
                  Visitenkarte
                  ss:| zu:) ls:& fo:) va:) sh:| rl:|
                  1. Sie _ist_ in diesem Fall vorhanden. Aber ob sie Inhalt hat, und welcher Inhalt das dann ist, das ist zu diskutieren bzw. unserem Azubi begreiflich zu machen ;-)

                    Wenn sie keinen Inhalt hat wird ja eine Fehlermeldung ausgegeben.
                    Ich verstehe nicht ganz was daran so falsch sein soll.

                2. Aber die Adresse dieses Beitrags ist doch auch ?t=157595.
                  Müsste doch eigentlich das selbe sein oder?

                  1. hallo,

                    Aber die Adresse dieses Beitrags ist doch auch ?t=157595.

                    richtig, aber es ist eben _nicht_ ?seite=157595 (obwohl es sowas im SELFRAUM durchaus auch gibt), und es ist auch kein PHP. Der Entwickler der Forumsoftware hier hat schon ziemlich genau gewußt, was er entwickelt hat.

                    Grüße aus Berlin

                    Christoph S.

                    --
                    Visitenkarte
                    ss:| zu:) ls:& fo:) va:) sh:| rl:|
                    1. Sag nicht dass es hier nur um "seite" geht...
                      Das war nur ein Beispiel. In Wirklichkeit ist es $id

                      1. hallo,

                        Sag nicht dass es hier nur um "seite" geht...
                        Das war nur ein Beispiel. In Wirklichkeit ist es $id

                        Och, und du meinst, daß $id weniger einfältig ist?

                        Grüße aus Berlin

                        Christoph S.

                        --
                        Visitenkarte
                        ss:| zu:) ls:& fo:) va:) sh:| rl:|
                  2. Hi,

                    Aber die Adresse dieses Beitrags ist doch auch ?t=157595.
                    Müsste doch eigentlich das selbe sein oder?

                    nein, da es sich hierbei um ein Forum handelt, also im Wesentlichen um einen Artikelanzeiger, der z.B. die Artikel-ID als Parameter[1] benötigt. Es handelt sich _nicht_ um eine Website, die aus vielen verschiedenartigen Seiten besteht.

                    Cheatah

                    [1] Und eben deswegen wird es als Parameter in die URL gebracht.

                    --
                    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes
                  3. Hey,

                    Aber die Adresse dieses Beitrags ist doch auch ?t=157595.
                    Müsste doch eigentlich das selbe sein oder?

                    Es geht hier nicht darum, dass Seitenaufrufe per GET-Methode (?xxx=yyy&etc=blabla) per se unsicher sind - das ist schon in Ordnung, wenn das Skript auf der anderen Seite damit umzugehen weiß.

                    Unsicher ist hier bei Dir die Einstellung, dass JEDER Input, den der User per GET übermittelt, zunächst einmal ungeprüft als Variable zur Verfügung steht. Ein findiger Nutzer kann damit in ungewollter Weise Dein Skript kontrollieren/beeinflußen.

                    Nehmen wir an, Du benutzt irgendwo eine Variable $i (sehr wahrscheinlich) und initialisierst sie nicht ordnungsgemäß (möglich). Ich könnte also mit ?i=150 als User den Wert vorgeben. Das willst Du nicht.

                    Heutzutage ist es in PHP üblich, diese Werte über $_GET['i'] zu addressieren.

                    Correct me if I am wrong, aber so habe ich diese Sicherheitslücke immer verstanden.

                    Groetjes,
                    Patrick

                    1. Merry X-Mas!

                      Du hasts erfasst. Wenn Jeclo das hier liest sollte er's verstanden haben.

              2. hallo,

                Warum ist das ein Sicherheitsrisiko?

                Weil es "zu einfach" ist und jeder schlecht programmierte Suchroboter auf die Idee kommen kann, eben genau diesen Parameter auszuprobieren. Schwups - schon ist deine schnucklige "unauffindbare" Startseite eine Spamschleuder.
                Wenn man "Sicherheit" haben möchte, so ist sie mit solchen Mätzchen jedenfalls nicht erreichbar.

                Aber um der ganzen bisher etwas inhaltsleeren Debatte noch etwas Substanz zu verleihen: wenn es denn bei dir mit XAMPP "nicht funktioniert", was sagen denn die logs dazu? Und was passiert, wenn du dein PHP-Gewurschtel mal mit der ziemlich wichtigen Prüfvorgabe "error_reporting(E_ALL);" versiehst?

                Grüße aus Berlin

                Christoph S.

                --
                Visitenkarte
                ss:| zu:) ls:& fo:) va:) sh:| rl:|
          2. Hello out there!

            ist doch klar: wenn man nicht weiss wo das dokument liegt; weiss man nicht wo man hacken soll.

            “Security by obscurity” ist kaum ein sinnvolles Konzept. Ist doch klar.

            Außerdem sind URIs wie http://example.net/?seite=startseite nicht nutzerfreundlich. [http://www.web-blog.net/comments/P122_0_1_0/]

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        2. Hallo,

          Hier ist kein Stammtisch.

          (Christoph)

          Hier ist kein Stammtisch.

          (Cheatah)

          Ihr dürft euch was wünschen. Außer Freibier ;-)

          Gruß, Nils

          --
          Es gibt keine Lösung, weil es kein Problem gibt. (Duchamp)
          1. hallo nils2,

            Ihr dürft euch was wünschen. Außer Freibier ;-)

            Freiholunderwein?

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
      2. hallo,

        Ist das eine Frage oder was?
        Ja genau

        Drücke Dich bitte klar und sinnvoll aus. Hier ist kein Stammtisch. Wenn du wissen möchtest, ob Xampp unsicher ist, so lautet die einzig mögliche korrekte Antwort: möglicherweise ist es das. Dazu mußt du es bloß auf unsichere Weise konfigurieren, was dir vermutlich sehr leicht fallen könnte.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
      3. hi,

        Warum machst du das?
        Weil ich es für sicherer halte, wenn die User nicht wissen wo genau das Dokument liegt das aufgerufen wird.

        Wenn du das so machst, wie beschrieben - einfach ungeprüft das includen, was im Parameter steht - dann ist es im Gegenteil _höchst_ unsicher.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo

    Ich rufe meine Webseiten immer z.b. mit ?seite=startseite auf.
    dann wird die seite über $seite includet.

    Deine Beschreibung ist zwar nicht sehr präzise, da fehlt z.B. ein bißchen Beispiel-Quelltext, aber es könnte sein, daß dein Script sich auf register_globals=on verlässt. Das wäre schon recht unsicher und es ist gut, daß XAMPP da nicht mitmacht.

    Gruß

    Krueger