Sven Rautenberg: SessionID

Beitrag lesen

Moin!

ich habe gerade eben festgestellt, dass meine PHP-Anwendung, die mit session_start() beginnt, PHP-Version 5.3.0, eine SessionID annimmt, die initial vom UserAgent gesetzt wird beim ersten Request. Dabei wird nicht einmal auf die Länge geprüft, eine von UA vorgegebene SID=123, oder auch kürzer, wird für die Session verwendet.

Stellt das nicht ein gewisses Sicherheitsrisiko dar, vom UA vorgegebene SessionIDs anzunehmen?

Ja, das stellt ein hohes Risiko dar, man nennt es "Session Fixation".

Die Gegenmaßnahme ist, bei jeder Erhöhung der Userrechte (also z.B. bei einem Login), aber gerne auch regelmäßig zwischendurch, die Session-ID mit session_regenerate_id() zu erneuern. Insbesondere dann, wenn die ID eben nicht via Cookie übergeben wurde.

PS: PHP 5.3.0 ist ja mal sowas von alt, da ist zwingend ein Update angesagt. Aktuell ist 5.3.20!

- Sven Rautenberg