Session, irre, wirre

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

  • Session, irre, wirre

    Ich weiß nicht, wie hart diese Nuss ist.
    Vorab: Session cookie lifetime ist auf 864000, dh 10 Tage gesetzt.
    Ein Script wurde vorab mit:
    PHP-Code:
    $_Session["test"]="Hallo"
    aufgerufen. PHP Interpreter is höher als 4.0.6.
    Die Session variable wurde gespeichert.
    Natürlich war session_start() vorher mal dran.
    So jetzt habe ich eine PHP Datei, die so aussieht:
    PHP-Code:
    <?php
    session_start
    ();

    echo 
    "Session aktiv :".$_SESSION["test"]."<br>";

    IF (!isset(
    $_SESSION["test"])){
    echo 
    "No session<BR>";
    } else{
    echo 
    "session gefunden<br>";
    }

    echo 
    "Final Session output ".$_SESSION["test"];
    ?>
    Hacken ist der:
    Ich rufe nach der obrigen session vergabe , also nach "hallo" die Session prüf php da oben , und es erscheint die richtige Session, mit Namen usw, es wird "session gefunden" ausgegeben und der session wert wird zweimal ausgegeben.
    Schließe ich diese Datei und starte sie wieder, aktualisiere usw, und der Wert ist immer noch da, so weit so gut.
    Rufe ich jetzt aber diese Datei auf, so erscheint, wie normal die Session, also gefunden usw.
    Rufe ich dann, während dieser Link als eine Browser seite offen ist nochmal die selbe php auf, so erscheint da keine Session und es steht session nicht gefunden.
    Wie ist das möglich? Oder was passiert denn da und wie verhindere ich dass?
    Z.b klappt dies ja in diesem Forum auch, dass ich zwei sachen mit meiner eigenen ID machen kann, sprich board angucken und mein Profil ändern.
    Warum klappt das aber nicht da?
    Das verwirrt mich extrem.

    Der komplette Code ist der hier gepostet!
    SQL Injection kitteh is...

  • #2
    datei1.php
    PHP-Code:
    <?php
    session_start
    ();
    $_SESSION['test']='Bin da';
    echo 
    '<pre>';
    print_r($_SESSION);
    echo 
    '</pre>';
    echo 
    '<a href="datei2.php">Datei 2</a>';
    ?>
    datei2.php
    PHP-Code:
    <?php
    session_start
    ();
    echo 
    '<pre>';
    print_r($_SESSION);
    echo 
    '</pre>';
    echo 
    '<a href="datei1.php">Datei 1</a>';
    ?>
    wenn du jetzt im browser datei1.php aufrufst klappt das auf jeden fall immer und überall, auch wenn du ein neues browserfenster aufmachst

    wenn du eine neue browserinstanz startest und direkt die datei2.php aufrufst, klappt's nicht, da die initialisierung nicht stattfand (hast ja ne neue session-id, also auch ne andere session)
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Wie funktionieren denn dann Foren, wie dieses?
      Nach deinem Weg müsste ich mich immer einloggen, wenn ich diese Seite benutze, muss ich aber nicht.
      Und wenn ich z.b. codeschnipsel forum anzeige und ein neues fenster mit dem link zu meinen Profil öffen, dann erkennt er mich bei beiden seiten ja, als Seikilos.
      So wie du das sagst, ist das aber nicht möglich, aber anscheinend ist es doch.
      Was is hier der unterschied???
      SQL Injection kitteh is...

      Kommentar


      • #4
        Original geschrieben von Seikilos
        Wie funktionieren denn dann Foren, wie dieses?
        mit cookies?
        Und wenn ich z.b. codeschnipsel forum anzeige und ein neues fenster mit dem link zu meinen Profil öffen, dann erkennt er mich bei beiden seiten ja, als Seikilos.
        und inwiefern widerspricht das dem, was ich geschrieben hab?
        So wie du das sagst, ist das aber nicht möglich, aber anscheinend ist es doch.
        es ist möglich und ich habe auch nichts anderes behauptet
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Sekunde mal, ich hab doch selbst bewiesen, dass die Id doch gleich bleibt:
          Nämlich:
          Ich hab zwei PHP Dateien, eine heißt setsession, die andere sessiontest.
          sessiontest prüft die session anhand des obrigen codes und set session tut nur eins, session setzten.

          Rufe ich aber nun nach dem ich einmal setsession aufgerufen habe sessiontest auf, so bekomme ich die variable in der session gespeichert.
          Nach dir, dürfte das auch nicht passieren, da andere ID,
          aber es klappt ja solange, biss ich das selbe script zweimal aufrufe
          SQL Injection kitteh is...

          Kommentar


          • #6
            Hm, in einem Cookie wird meine ID gespeichert? Die kann man doch klauen, oder nicht? Oder wie benutzt ein forum die abfrage?
            SQL Injection kitteh is...

            Kommentar


            • #7
              mach in deiner sessiontest-datei direkt hinter session_start mal
              PHP-Code:
              echo session_id(); 
              was kommt raus wenn es klappt und was kommt raus wenn es nicht klappt?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Zwei fenster, bei

                Session id 7363766b0a062242c90ab8a36b1200d3
                Session aktiv :hallo
                session gefunden
                Final Session output hallo

                und
                Session id 4f6adc5e34078db653742f8bd71c3173
                Session aktiv :
                No session
                Final Session output

                gut, id is anders, aber wenn ich cookies benutzte, dann kann die doch jeder klauen, oder nicht?
                SQL Injection kitteh is...

                Kommentar


                • #9
                  die id ist anders, weil du kein neues browserfenster über Datei -> Neu aufmachst, sondern den Browser nochmal startest!

                  wenn du das über cookies machst, kann jeder der zugang zu dem pc hat den inhalt des cookies auslesen, aber keine andere webseite
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    auch für dieses forum?
                    Ja, oder?
                    SQL Injection kitteh is...

                    Kommentar


                    • #11
                      meinst du cookies?

                      schau mal auf deinem pc in dem verzeichnis, in dem die cookies gespeichert werden, da sollte einer vom forum sein (sofern du cookies akzeptierst)

                      jeder der genauso wie du zugang zu dem pc hat, kann den cookie lesen
                      das forum selbst aknn den cookie lesen
                      keine andere seite kann den cookie lesen
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        hm cookie verschlüsseln bringt ja auch nix.
                        aber ok, vielen dank.
                        Bin die ganze zeit in die falsche richtung geritten
                        SQL Injection kitteh is...

                        Kommentar

                        Lädt...
                        X