Cookie und Session Sicherheit

Cookies mit Session-ID

Cookies werden häufig für die Session-ID verwendet

  • Benutzer hat sich mit Benutzername und Passwort identifiziert
  • Danach wird eine Session aufgebaut und das Cookie dient der Identifizierung

Konsequenzen

  • Cookie ist genauso zu beschützen wie ein Passwort
  • Ansonsten droht Session-Hijacking

Session Hijacking

Screenshot Firesheep
Screenshot Firesheep

Schutz vor Session Hijacking

Cookies sind shared secret zwischen Client und Server

  • Session-ID darf nicht geraten werden können
    • muss wirklich zufällig sein
    • mindestens 128 Bit Zufall in der ID
  • Session-ID darf nicht von außen vorgegeben werden
    • keine Session-ID von außen akzeptieren
  • Session-ID darf nicht ausgelesen werden können
    • Cookie auf Secure setzen (nur per HTTPS übertragen)
    • Cookie auf HttpOnly setzen (kein Zugriff mit JavaScript)
    • Session-ID nicht anzeigen
    • Session-ID nicht speichern oder in Log-Dateien schreiben

Cookie kann beliebig manipuliert werden

Beispiel 1

Cookie: lang=en-us; ADMIN=no; y=1; time=10:30GMT;
Cookie: lang=en-us; ADMIN=yes; y=1; time=10:30GMT;

Beispiel 2

Cookie1: item1_ID=12369&item1_pr=27,95&item2_ID=10334&item2_pr=19,95
Cookie2: item1_ID=12369&item1_pr=0,95&item2_ID=10334&item2_pr=1,95

Copyright © 2025 Thomas Smits