Wie sicher sind Sessions?

CodexX

Grünschnabel
hallo,

mich würde interessieren, wie sicher bzw. unsicher sessions eigentlich sind.
ist es einem benutzer möglich die aktiven sessions und deren variablennamen/-werte einzusehen bzw sogar zu verändern?

ich danke für aufschlussreiche antworten. :)
 
Hallo,

also bei einer Session wird die sog. Session-ID auf dem Server gespeichert und die der zugewiesenen Variablen dort gespeichert.
Meines Wissens nach ist es nicht möglich die Session-ID eines anderen irgendwie auszulesen - jedoch könnte man diese theoretisch erraten dann könnte man diese Session-ID benutzen und auf die Session-Variablen des Users zugreifen bzw. eben diese Session weiterführen.
Aber ich denke das ist nur graue Theorie und in der Praxis vernachlässigbar.
Ich lasse mich jedoch gerne eines Besseren belehren.
 
ich meinte eher, dass der user seine eigenen werte sehen oder verändern kann. die sessionid hat er ja dann - wurde ja von ihm erzeugt ;)
 
ich danke für aufschlussreiche antworten

Ich glaube darauf, gibt es nur eine Antwort: "Sicherheit gibt es nicht".
Von diesen schlauen Sprüchen mal runter zu kommen, kann ich dir da nur folgende Informationen ans Herz legen:

http://de2.php.net/manual/de/ref.session.php
und
Session Fixation Vulnerability in Web-based Applications

Der 2. Link, das PDF ist sehr interessant, aber ich denke für die allermeisten Dinge, sind Sessions sehr sicher, insofern die Sessions nicht im Cookie gespeichert werden, sondern auf dem Server hinterlegt werden.

Um nochmal auf dein Posting zurückzukommen:
ist es einem benutzer möglich die aktiven sessions und deren variablennamen/-werte einzusehen bzw sogar zu verändern

Eine Session ist ja nicht ein einfacher Wert, sondern eine Hashsumme aus diversen Faktoren. Wird diese Hashsumme erkannt, so werden die Session Werte, die für dieses Hashsumme gespeichert wurden genutzt (um es mal einfach zu beschreiben).
Meldest du dich also mit einer Hashsumme X beim Server, merkt sich der Server: Hashsumme X, zu der gehört Wert A, B und C.
Möchte nun ein anderer darauf zugreifen, brauch er 1. deine Hashsumme (was er nur durch sniffen in deinem LAN erreichen kann) oder durch C&P.
Ich bin mir aber nicht 100% sicher, ob das auch klappt.
Ich glaube detaillierte und sichere Infos findeste in dem PDF.

Gruss!
 
vielen dank. die pdf ist sehr interessant, geht aber in eine etwas andere richtung, als es mich in dem fall interessiert.

mir geht es nicht darum dass UserA die daten von UserB einsieht, sondern dass UserA seine eigenen Daten gezielt verändern kann.

Es gibt genügend einsatzzwecke, wo man nicht möchte, dass der user die werte seinsieht oder verändert.

ich gebe nur mal ein beispiel: wenn ein user auf die seite kommt, lege ich in die variable $_SESSION['ref'] den referer ab und möchte nicht, dass der user das einsehen oder gar verändern kann.
es ist nur ein beispiel!

gibt es also tools, scripte oder andere mittel, die es einem ermöglichen könnten, sessionwerte zu verändern?
 
Also, die Werte der Session werden - wie dwex schon geschrieben hat - nur serverseitig gespeichert. Und zwar dort, wo du es in der php.ini unter session.save_path angibst. Inwiefern deine Sessions sicher sind, hängt demnach davon ab, wie sicher der angegebene Pfad auf deinem Server ist. Im Grunde genommen kannst du wohl aber davon ausgehen, dass jemand, der seine in der Session gespeicherten Informationen sehen oder ändern kann, noch ganz andere Sachen am Server ändern kann (vorausgesetzt, du gibst ihm nicht die Möglichkeit durch unsichere PHP-Skripte). ;)
 
Zuletzt bearbeitet:
Zurück