include von anderem server?

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

  • include von anderem server?

    sagt mal, kann es sein, dass man ein include befehl von nem anderen server machen kann? also so in etwa:

    <php? include(http://wasweissich.de/config.php) /?>

    weil das wär ja dann voll krass, dann könnte man ja irgentwelche conif dateien von anderen server inspizieren....
    Zuletzt geändert von wahsaga; 09.02.2006, 12:20.

  • #2
    Re: include von anderem server?

    Original geschrieben von mp17
    sagt mal, kann es sein, dass man ein include befehl von nem anderen server machen kann? also so in etwa:

    <php? include(http://wasweissich.de/config.php) /?>
    Ja, das kann man - wenn allow_url_fopen aktiviert ist.
    weil das wär ja dann voll krass, dann könnte man ja irgentwelche conif dateien von anderen server inspizieren....
    Nein, das ist nicht "voll krass" - eine Datei mit der Endung .php wird vom Webserver geparst, bevor sie ausgeliefert wird. Du bekommst also höchstens die Ausgabe des Scriptes (bei include-Dateien idR. vermutlich gar keine) - aber keinesfalls den Quellcode.

    Lediglich, wenn die Datei vom Webserver nicht geparst würde - weil falsche Endung o.ä. - dann wäre das "voll krass" blöd vom Scriptersteller.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      jo lol^^
      nee hät ja sein können, aber wenn man jetzt die php aufm server liegen hat, dann würde er die nicht parsen oder? also zum beispiel

      <?php include 'inc/config.php'; ?>

      das würde dann ungeparste daten rausgeben oder?

      Kommentar


      • #4
        Original geschrieben von mp17
        das würde dann ungeparste daten rausgeben oder?
        Nein, würde es auch nicht.

        Wirklich Ahnung wo von du redest hast du nicht, oder?


        Mit readfile o.ä. würdest du den ungeparsten Inhalt einer lokalen Datei bekommen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          richtig dumme scripthersteller speichern ihre config so ab: config.inc und so eine Datei könntest du dann includen. Aber wie gesagt, der Scripthersteller wäre mega dumm.
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar


          • #6
            Aber wie gesagt, der Scripthersteller wäre mega dumm.
            und macht am Besten config.inc.php draus
            OffTopic:

            Und an den Sourcecode kannst du mittels include() sehr wohl kommen, wenn der Deppmaster äh Webmaster keinen PHP Handler in den Apachen oder IIS einbaut




            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Ich befasse mich gerade mit dem Thema.

              Bei dem Require-Befehl hab ich gelesen, dass PHP-intern der Aufruf durch den Code der Aufzurufenden datei ersetzt wird.

              Habe 2 Dateien auf 2 Servern.
              erste datei, die direkt im browser angesprochen wird (Auf Server 1):
              PHP-Code:
              <?php
              //ini_set("allow_url_fopen", 'on');
              //ini_set("allow_url_include", 'on');
              $variable "datei 1";
              include(
              "http://www.domain.de/pfad/require_2.php");
              echo 
              $sensible_variable;
              ?>
              Datei 2, die aus Datei 1 heraus aufgerufen wird. (Auf Server 2)
              PHP-Code:
              <?php
              $sensible_variable 
              "SELECT befehl, der aufschluss auf die DB-Struktur gibt";
              echo 
              "gruss aus requrie_2.php<br/>zeile 2";
              echo 
              $variable;
              ?>
              Also wenn die beiden Dateien auf ein und demselben Server liegen, können sie gegenseitig ihr Variablen sehen.
              Jedoch bei Verteilung auf den beiden Server, wie bei meinen Tests gerade sieht "Datei 1" nur die echo "grüße ..."-Ausgabe. Die variablen gegenseite können Sie nicht sehen (so wie es lokal der fall war).

              Soweit scheint das sicher zu sein. Sonst könnte man ja mit einer BruteForce-Attacke den Inhalt von $sensible_variable auslesen.

              Meine Frage ist nun: Kann man Irgendwie doch auf die Variablen der jeweils anderen Datei zugreifen? Hab ich da irgendeine Einstellung übersehen (die beiden auskommentierten ini_set Befehle scheinen nichts zu bewirken), die meine Variablen gefährten könnten?

              Danke schonmal im Voraus!

              Kommentar


              • #8
                --- Bevor es hier weiter geht sollte sich jeder über die Funktionsweise von HTTP und dem PHP Modul seines Webservers im Klaren sein um weitere Verwirrung zu vermeiden ---

                Kommentar


                • #9
                  Original geschrieben von Sir_Paladin
                  Meine Frage ist nun: Kann man Irgendwie doch auf die Variablen der jeweils anderen Datei zugreifen?
                  Also wenn Du deine require_2.php in require_2.txt umbenennst, wird der PHP-Code tatsächlich auf Server 1 ausgeführt, da jetzt der Dateiinhalt inkludiert wird und nicht mehr die geparste Ausgabe.

                  Das nennt sich dann "PHP Remote Code Injection" und kann passieren, wenn Du ungeprüfst Parameter verarbeitest. Nach dem Motto: include $_GET['page']

                  Kommentar


                  • #10
                    danke @ phpguru42
                    genau nach so einer antwort habe ich gesucht

                    es funktioniert auch so. wenn ich den die require_2.php ind ...txt umbenenne wird der code included und ich kann mit print_r($GLOBALS) mir alle variablen aus require_2.txt anzeigen lassen und wenn die datei eine *.php bleibt geht das nicht.

                    Kommentar

                    Lädt...
                    X