[PHP] Session Security Problem

Dieses Thema im Forum "Webentwicklung" wurde erstellt von encud, 23. Februar 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 23. Februar 2009
    Session Security Problem

    Guten Abend zusammen!

    Hab eben weiter an meinem Script gespielt und aufeinmal eine sehr große Sicherheitslücke entdeckt.

    Und zwar kann man es sich wie folgt vorstellen: Man loggt sich als User ein und bestimmte daten wie name adresse werden in einer session gespeichert, genau so wie die user-id. wenn ich jetzt daten aus der datenbank auslesen will, von dem user, greife ich auf die id aus der session zurück.

    nun ist es doch aber so, dass man sessions manipulieren kann, und wenn man jetzt die id eines anderen users auswählt hat man all die daten und auch kontostände von den anderen user
    gibt es da eine möglichkeit das iwie zu umgehen, bzw wie kann man es sonst machen damit diese lücke umgangen wird?

    gruß encud
     
  2. 23. Februar 2009
    AW: Session Security Problem

    benutzer können an der session selber nix ändern außer der session-id, aber sobald die session-id geklaut wurde isses eh schon zu spät.

    was du machen kannst ist in der session die REMOTE_ADDR zu speichern und zu prüfen ob der aktuelle benutzer und die verwendete session zusammen passen.

    PHP:
    session_start ();
    if(isset(
    $_SESSION [ 'remote-addr' ])) {
        
    //user war schonmal da
        
    if( $_SESSION [ 'remote-addr' ] !=  getEnv ( 'REMOTE_ADDR' ))
            exit(
    'session geklaut!' );  //ggf. neue session anlegen
    } else {
        
    //neuer benutzer
        
    $_SESSION [ 'remote-addr' ] =  getEnv ( 'REMOTE_ADDR' );
    }
     
  3. 23. Februar 2009
    AW: Session Security Problem

    Ich glaube du verwechselst Sessions mit Cookies.

    Cookies (die session-id wird i.d.R. als Cookie gespeichert) werden auf dem PC gespeichert, Sessions allerdings nicht - somit kann man sie auch nicht im gegensatz zu Cookies manipulieren
     
  4. 23. Februar 2009
    AW: Session Security Problem

    ok, session klau kann man ja durch session_regenerate_id(); umgehen, oder?

    hmm also ist es garnicht möglich ne session zu manipulieren?! ich dachte iwie... demnach ist das so wie ichs gemacht habe sicher?!

    würde es denn dann überhaupt sinn machen sessions mit htmlspecialchars(); zu escapen?!

    edit: achja, das script würde ja aber auch so keinen großen sinn machen, oder? weil wenn ein hacker es hin bekommt meinte session zu verändern, dann kann er ja auch genau so einfach die REMOTE_ADDR anpassen, oder?^^
     
  5. 23. Februar 2009
    AW: Session Security Problem

    nein, weil der benutzer rein garnichts an der session ändern kann.
     
  6. 23. Februar 2009
    AW: Session Security Problem

    naja gut, dann hatte ich wohl nur nen denkfehler, gott sei dank erspart mir viel arbeit^^ naja dann besten dank an euch beide bw sind raus
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.