Sessions
Hartmut D.
- php
0 Tom0 Der Martin
0 David Aurelio0 wahsaga
Hallo zusammen,
ich habe eine Grundsätzliche Frage zu den Sessions in PHP. Es geht um folgende Konfigurationsoption:
session.use_trans_sid
Ich würde, mit meinem leider zu geringen Wissen, behaupten, dass es sinnvoll wäre, die Session ID nicht sichtbar in der URL zu übertragen, weil dies ein Sicherheitsrisiko darstellen könnte, wie auch im Manual beschrieben. Trotzdem würde ich gerne mal die Meinungen der Profis hören. Ist es ratsam die ID nicht anzuzeigen, bzw. wann wäre es sinnvoll die Session ID sichtbar in der URL zu übertragen? Und wie wird die Session ID übertragen, wenn sie nicht in der URL angezeigt wird oder per Hidden Input übertragen wird?
Viele Grüße
Hartmut
Hello,
übertragen wird sie selbstverständlich immer.
Wenn sie nicht im URi steht, dann i.d.R. im Header des Requests
Musst Du einfach mal einen Header-Reader bauen oder benutzen.
Web-Sniffer scheint leider nicht mehr zu funktionieren. Einen anderen öffentlichen kenne ich im Moment nicht...
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
hi,
übertragen wird sie selbstverständlich immer.
Nö.
Wenn sie nicht im URi steht, dann i.d.R. im Header des Requests
Ja, und zwar als Cookie - in der Richtung Client -> Server aber nur, wenn der Client überhaupt Cookies akzeptiert.
gruß,
wahsaga
Hello,
übertragen wird sie selbstverständlich immer.
Nö.
Stimmt natürlich. Ich hatte vorausgesetzt, dass das Generelle schon klar war... ;-)
Wenn sie nicht im URi steht, dann i.d.R. im Header des Requests
Ja, und zwar als Cookie - in der Richtung Client -> Server aber nur, wenn der Client überhaupt Cookies akzeptiert.
und wenn die Domain bzw. der Pfad zur Ressource zum Cookie passt...
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hallo,
Ich würde, mit meinem leider zu geringen Wissen, behaupten, dass es sinnvoll wäre, die Session ID nicht sichtbar in der URL zu übertragen, weil dies ein Sicherheitsrisiko darstellen könnte, wie auch im Manual beschrieben.
inwiefern ein Sicherheitsrisiko? Ich halte es allenfalls für einen URL-kosmetischen Makel. Denn die SID wird in jedem Fall unverschlüsselt übertragen, kann also immer abgegriffen und/oder manipuliert werden.
Und wie wird die Session ID übertragen, wenn sie nicht in der URL angezeigt wird oder per Hidden Input übertragen wird?
Überleg mal, welche Möglichkeiten hast du denn dann noch? Nur noch per Cookie. Soweit ich weiß, ist es die Defaulteinstellung von PHP, eine SID per Cookie zu übertragen. Nur wenn das fehlschlägt (der Besucher keine Cookies akzeptiert), wird sie stattdessen als URL-Parameter übertragen.
In beiden Fällen steht sie, wie gesagt, unverschlüsselt im HTTP-Header.
Ciao,
Martin
Mir fallen spontan zwei Szenarien ein, in denen durch Übertragung der Session-ID als GET-Parameter die Session geklaut werden könnte:
* Ein Benutzer Deines Webs kopiert einen URI und postet ihn in ein Forum, einen IM oder sonst wo hin. Wer jetzt diesen Link benutzt, bevor die Session ungültig wird, hat alle Rechte des Benutzers, der den URI kopiert hat.
* Ein Angreifer bekommt Zugriff auf den Access-Log Deines Web-Servers. Darin findet er URIs mit Session-IDs und kann diese verwenden, um Sessions zu übernehmen. Dazu muss er nicht mal Zugriff auf den Server haben, sondern könnte auch Lücken in Serverskripten ausnutzen, z.B. wenn ein Skript Dateien abhängig von einem GET- oder POST-Parameter inkludiert und diesen nicht überprüft.
Gruß,
David
hi,
Mir fallen spontan zwei Szenarien ein, in denen durch Übertragung der Session-ID als GET-Parameter die Session geklaut werden könnte:
* Ein Benutzer Deines Webs kopiert einen URI und postet ihn [...]
* Ein Angreifer bekommt Zugriff auf den Access-Log Deines Web-Servers.
Drittens: An ins Dokument eingebundene externe Ressourcen wird sie im Referrer übertragen.
gruß,
wahsaga