Session Fixation - Im Namen der ehrlichen Nutzer

0 | 6910 Aufrufe
Sie können diese Wikiseite nach der Anmeldung auf Webmasterpro bearbeiten. Helfen Sie mit und verbessern Sie "Session Fixation - Im Namen der ehrlichen Nutzer" mit Ihrem Wissen!

Anzeige Hier werben

Verwandte Angriffe:

Kurze Beschreibung:

Austauschen der Session-ID eines Nutzers durch eine eigene bzw. eine gewünschte Session-ID. Nach der Anmeldung des Nutzers gilt die gefälschte Session-ID vom Nutzer und vom Angreifer für den Server als dieselbe.

Folgen:

Der Angreifer bekommt den Zugang in den personalen Nutzerbereich der Applikation solange wie die Session-ID gültig ist und kann somit die Nutzerdaten verändern und löschen oder auch im Namen des Nutzers die Funktionalität der Anwendung nutzen.

Funktionsweise:

Die Session-ID kann auf verschiedene Weisen ausgetauscht werden. Solche sind:

  • Durch Unterschieben der Session-ID über JavaScript, wenn eine Cross-Site Scripting Sicherheitslücke vorliegt
  • Durch Unterschieben einer präparierten URL, die der Nutzer aufrufen muss. Die Voraussetzung dafür ist die Akzeptanz der Session-ID als GET-Parameter durch den Server.
  • Durch das Hinterlegen der Session-ID im Browser des Nutzers, wenn man direkten physikalischen Zugriff zu dem Rechner dessen hat.
 
HTML
1
http://www.example.com/index.php?session=29sa7p3

Gegenmaßnahmen:

Maßnahmen gegen Session Fixation sind recht einfach umzusetzen, stellen den Angreifern aber eine wesentliche Hürde dar.

  • Mann sollte die Übermittlung der Session-ID per URL in den PHP-Einstellungen deaktivieren. Allerdings kann die Session immer noch über XSS manipuliert werden. Also die XSS-Lücken, wenn sie vorhanden sind, müssen geschlossen werden.
 
PHP
1
2
3
4
<?php
    ini_set('session.use_only_cookies', 1);
    session_start();
?>
  • Die Session-ID Regenerierung bringt einen erheblichen Schutz mit sich. Es wird nämlich die Session-ID bei jedem Einloggen neu generiert und zugewiesen, wodurch die alte für den Angreifer nicht mehr brauchbar ist.
 
PHP
1
2
3
  • Die Sessions sollten einen Timeout haben, d.h. nach einer bestimmten Zeit auslaufen
  • Die Assotiation der Session-ID mit einem weiteren Merkmal wie z.B. die IP-Adresse kann die Sicherheit auch verstärken, kann aber Probleme bei den dynamisch zugewiesenen IDs darstellen. Außerdem lassen sich die HTTP-Header manipulieren, was wiederum die Wirkung der Maßnahme schwächt.

Fazit:

Session Fixation ist ein nicht zu unterschätzender Angriff, der dem Angreifer einen breiten Spektrum von Möglichkeiten öffnet, im Namen des Opfers zu interagieren. Insbesondere schlimm ist es, wenn das Opfer die Administrationsrechte besitzt. Das kann ausgenutzt werden, um z.B. die wichtigen Daten zu manipulieren, und zwar nicht nur die des Opfers, sondern auch die vieler anderen Nutzern.

zurück zur Übersicht Web-Sicherheit


Wikiseite bearbeiten

Diese Seite kann von jedem registrierten Benutzer bearbeitet werden. Bisher haben 3 Personen an der Seite "Session Fixation - Im Namen der ehrlichen Nutzer" mitgewirkt.

Sie haben einen Fehler entdeckt oder möchten etwas ergänzen? Dann können Sie nach der Anmeldung "Session Fixation - Im Namen der ehrlichen Nutzer" hier bearbeiten.

Mitarbeiter