Rouven: Sessions können doch immer von jedem "geklaut" werden

Beitrag lesen

Hallo,

Sessions sind ein serverseitiger Mechanismus. Soll heißen: Der Server kümmert sich darum die enthaltenen Daten zu sichern und beim nächsten Aufruf auch wieder bereitzustellen. Diese Daten werden _nicht_ an den Client übermittelt. Der Client bekommt nur die Session-ID mitgeteilt, entweder in Form eines Cookies, als Anhang an sämtliche URLs oder in Formularen. Überträgt der Client beim nächsten Aufruf also wieder die ID, kann der Server die passenden Daten wieder rauskramen und dem Skript bereitstellen.
Der Client kann _nicht_ eine ganze Session an den Server schicken - wenn doch, dann ist das Skript auf dem Server sehr schlecht programmiert. Genaugenommen bekommt der Client selbst dann keinen Zugriff auf die Session, bei aktiviertem register_globals unter PHP könnte es für das Skript aber so aussehen als gäbe es da noch andere Daten.

Es ist allerdings richtig, dass ein Benutzer die Session eines anderen kidnappen kann, wenn er dessen Session-ID kennt. Die ist nur pseudo-einmalig, d.h. eine mehr oder weniger lange, zufällige Zeichenfolge. Kommst du in deren Besitz (weil dir jemand eine URL per Mail schickt) und verwahrt der Server noch die zugehörige Session, dann könnte dieser andere Nutzer als Original auftreten und hätte Zugriff erlangt.

MfG
Rouven

--
-------------------
Inter Arma Enim Silent Leges  --  Cicero