Was ist das?
Vielleicht habt ihr schon davon gehört, sonst hier mal in Kurzform was das ist.
Wie ihr manchmal sehen könnt unterscheidet der Browser zwischen besuchten und unbesuchten Links, standardmässig werden verschiedene Farben verwendet.
Eben dieses Unterscheiden macht es anderen Seiten möglich eure History nach dem Hit or Miss Prinzip auszulesen, ohne dass ihr es merkt und ohne Javascript.
Wie es funktioniert?
Im Prinzip ganz einfach.
Es wird eine Linkliste mit sehr vielen Links versteckt geladen (hidden iFrame oder ausserhalb des Sichtbereiches).
Es wird eine CSS mitgeliefert die dem Browser "befiehlt" falls einer dieser Links als besucht eingestuft wird einen , pro geladenem Link individuellen, Background zu laden. (Background - Image)
Dieser liegt auf dem selben Server von dem der Angriff ausgeführt wird oder einem anderen Server auf welchen der Angreifer Zugriff hat und ist keine wirkliche Bilddatei sondern ein Script welches die Aufrufe speichert und verarbeitet.
Beispiel:
www.a.de (www.myserver.de/a.jpg)
www.b.de (www.myserver.de/b.jpg)
Neue Internetprsenz. (www.myserver.de/c.jpg)
Wird ein Link als besucht eingestuft wird der jeweilige vermeintliche Background (oben in Klammern gezeigt) geladen und das Script schlägt zu.
Heisst das Script loggt den Aufruf von a.jpg und c.jpg, daraus kann man schliessen der attackierte User war auf www.a.de und Neue Internetprsenz., hat aber www.b.de nie besucht.
Wie man sieht und wie gesagt bassiert das auf einem Hit or Miss Prinzip, heisst es kann nicht direkt die History ausgelesen aber auf spezielle Links überprüft werden.
Die Gefahr an der ganzen Sache?
Tracker könnten dieses System benutzen um User von SB-I, SM, ... zu "erwischen", was sicherlich bei vielen allein schon ein Banngrund ist.
Kann man das ganze verhindern?
Firefox
Ja, für den Firefox zeig ich euch wie.
Im App Folder eures Firefox gibt es einen Ordner namens chrome, in diesem eine userContent.css, falls nicht, erstellen. (Achtet auf die Endung (Dateityp), nicht userContent.css.txt sondern wirklich userContent.css)
In diese kommt die folgende Zeile.
Diese Zeile deaktiviert das Laden von Backgrounds für besuchte Links global.PHP Code:
a:visited { background-image: none !important; }
Da sie userdefiniert ist und den !important Parameter aufweißt überschreibt sie jegliche websitedefinierte CSS.
Funktioniert das?
Ja, ich habe es getestet.
Die unten angegebene Seite scannt eure History und gibt die Treffer in dem Fenster auf der Linke Seite aus.
Wird auch nur eine angezeigt, ist die Attacke bei euch möglich.
Stealing your history...
Bookmarks