Neue Sicherheitsfunktion von Firefox ausgehebelt

Seit Version 2.0.0.5 verfügt der Open-Source-Webbrowser über eine Sicherheitsfunktion, die es Angreifern erschweren soll, Cookies per JavaScript zu klauen. Leider lässt sich dies relativ einfach aushebeln. Der Internet Explorer ist ebenfalls betroffen.

In Pocket speichern vorlesen Druckansicht 177 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Seit Version 2.0.0.5 verfügt der Open-Source-Webbrowser Firefox über eine Sicherheitsfunktion, die es Angreifern erschweren soll, mittels JavaScript-Cookies bestimmte Seiten zu kopieren und sich damit unter falscher Flagge anzumelden. So genannte HttpOnly-Cookies lassen sich nicht mehr durch JavaScript auslesen, sodass beispielsweise Cross-Site-Scripting-Attacken, die die JavaScript-Methode document.cookie nutzen, nicht mehr funktionieren.

Ursprünglich unterstützte nur der Internet Explorer seit Version 6 SP1 die Erweiterung des Cookie-Formats um dieses Attribut (Set-Cookie: VAL=023; expires=Tuesday, 24-Jul-07 23:12:40 GMT; httpOnly). Bis dato setzen aber nur wenige Seiten aus Kompatiblitätsgründen HttpOnly-Cookies. Für Tests auf dem eigenen Server reicht etwa unter PHP folgender Codeschnippsel:

<?php
header("Set-Cookie: hidden=value; httpOnly");
?>
<html>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>

Bei Aufruf mit dem Browser bleibt die Alert-Box leer.

Leider lässt sich diese Sicherheitsfunktion mit Tricks aushebeln, die Amit Klein zwar bereits Anfang 2003 in einem Posting auf Bugtraq beschrieben hat, die aber erst jetzt auf breiteres Interesse stoßen. Mit der JavaScript-Methode XMLHTTPRequest lassen sich die zu übertragenden Cookies im HTTP-Header direkt auslesen – ganz ohne document.cookie. Voraussetzung bleibt aber weiterhin, dass eine Seite ein XSS-Lücke aufweist, damit ein Angreifer eigenen JavaScript-Code in den Browser des Anwenders schleusen und starten kann. Eine Demo dazu findet sich auf ha.ckers.org.

Siehe dazu auch:

(dab)