Moin!
Stellt das nicht ein gewisses Sicherheitsrisiko dar, vom UA vorgegebene SessionIDs anzunehmen?
Ja, das stellt ein hohes Risiko dar, man nennt es "Session Fixation".Für wen konkret (und unter welchen Umständen/in welchen Szenarien)? Wenn hotti schon der Beantwortung dieser Frage ausweicht, vielleicht willst du sie ja beantworten.
Wenn der Angreifer dem Opfer einen Link zuschickt, welcher eine dem Angreifer bekannte Session-ID enthält, und das Opfer dem Link folgt, weil er die Seite kennt und sich dort einloggen will, wird ohne Gegenmaßnahme durch das Opfer eine eingeloggte Session erzeugt, dessen ID dem Angreifer bekannt ist. Er kann dann also "mitsurfen".
Es gibt dagegen diverse Maßnahmen, von denen das Austauschen der bisher genutzten Session-ID beim Login eine universell wirksame ist, denn diese Änderung bekommt nur der Browser mit, der gerade eben die Login-Daten abgeschickt hat - in der Regel ist das nur der Browser des Opfers.
Andere Maßnahmen wären die Verschlüsselung der Session-Daten (umgesetzt z.B. durch die Suhosin-Extension), bei der in den Key Dinge wie der User-Agent des Browsers oder auch die IP bzw. ersten Oktette der IP einfließen. Solche Angaben sind recht individuell und würden erfordern, dass der Angreifer diese Werte exakt duplizieren kann. Gelingt ihm das nicht, wird die von im "vorgestartete" Session durch einen anderen Browser nicht korrekt entschlüsselt und damit wieder verworfen. Umgekehrt gilt dasselbe Prinzip.
Man kann natürlich auch einfach konfigurieren, dass Session-IDs nur über Cookies akzeptiert werden.
- Sven Rautenberg