wahsaga: XSS-Lücke in Gecko-Browsern

hi,

heise.de: http://www.heise.de/newsticker/meldung/69159

"Das nur von Browsern der Mozilla-Familie unterstützte Element für Cascading Stylesheets (CSS) "-moz-binding" lässt sich nutzen, um mit Hilfe einer manipulierten Website beliebigen JavaScript-Code in das Document Object Model (DOM) des Browsers einzuschleusen. Dadurch ist es möglich, so genannte Inter-Domain-Zugriffe auf Daten durchzuführen, die andere Websites zur Identifizierung des Nutzers im Browser hinterlegen, wie beispielsweise Cookies und Session-IDs."

Hm, klingt erst mal übel.

Aber wie genau soll das funktionieren?
Um irgendwo -moz-binding mit einem "bösen" Wert angeben zu können, muss ich doch erst mal Zugriff auf das in eine Seite eingebundene CSS haben, oder?

Oder kann ich mit einem auf _meiner_ Seite eingebundenen Code auf "im Browser hinterlegte" Daten _andere_ Webseiten zugreifen, die gleichzeitig - oder sogar nicht mal das - angezeigt werden?

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
  1. Hallo,

    Aber wie genau soll das funktionieren?
    Um irgendwo -moz-binding mit einem "bösen" Wert angeben zu können, muss ich doch erst mal Zugriff auf das in eine Seite eingebundene CSS haben, oder?

    Du müßtest nur dafür sorgen, daß die Besucher auf ein von Dir prepariertes Dokument kommen. Mittels Binding '-moz-binding' hast Du die Möglichkeit eine Resourse anzugeben, die eben ein Böses JavaScript beinhaltet. Anscheinet wird hier nicht abgeprüft, ob das JavaScript von der selben Domain kommen oder aber es ist sogar Möglich Elemente oberhalb vom document (also auf Elementer des in XUL verfaßten Browserlayouts). Sollte letzeres möglich sein, dann hätte der eingeschleuste Scriptcode praktisch, da man mittels JavaScript im Mozilla auch auf externe Datein zugreifen kann, auf alle sensiblen Daten Zugriff (Daten wie Cookies, Passwörter, etc. auf der Festplatte).
     Man bräuchte nur noch AJAX, um die Informationen wieder zu Deinem Server zurückzusenden. Ist XUL betroffen, so wäre es auch keine Lösung von Deinem Web zum nächsten Web abzuschwirren, den der Code bliebe "im Layout" aktiv...

    Ich glaube, ich habe schon mal erwähnt, daß AJAX ein klasse Name für einen Hund ist. Und Hunde gehören an die Leine!

    Gruß aus Berlin!
    eddi

    --
    Wer Rechtschreibfehler findet, darf sie behalten.