dedlfix: Sessionübernahme

Beitrag lesen

echo $begrüßung;

function login($userid)
{     $sql="UPDATE user
    SET session='".session_id()."'
    WHERE id=".$userid;
     mysql_query($sql);
}

Wo kommt denn der Inhalt von $userid her? Kann den der Benutzer eingeben/ändern? Kann man da vielleicht ungestraft »1 OR 1« übergeben?

if(logged_in() AND $_SESSION['IP']==$_SERVER['REMOTE_ADDR']) $log="1";

Welchen Inhalt hat den $log, wenn die Bedingungen nicht zutreffen? Ist es vielleicht möglich, dass PHP eine Variable namens $log aufgrund eines vom Benutzer mitgesendeten GET-Parameters anlegt, weil register_globals eingeschaltet ist?

Wieso verwendest du die IP als Identifikationsmerkmal? Diese muss aufgrund von Proxy-Verwendung für ein und den selben User im Zeitraum der Session nicht unbedingt immer die selbe sein.

Wie ist das möglich, dass die Session übernommen wird?
Wovon kommt das? Ich kann mir das nicht erklären...

Ergab die Analyse des Server-Logfiles im in Frage kommenden Zeitraum einer dieser Übernahmen etwas Interessantes?

echo "$verabschiedung $name";