Skip to content

Clickjacking - The next Generation

Zum Abschluss des Themas "Clickjacking" geht es in dieser und der nächsten Folge um die abgesehen von den "Likejacking"-Angriffen aktuellsten Entwicklungen: Die im April von Paul Stone von Context Information Security auf der Sicherheitskonferenz Black Hat Europe 2010 vorgestellten Clickjacking-Angriffe (Whitepaper, Präsentation als PDF und Video als .m4v).

Für eigene Experimente hat Paul Stone ein Clickjacking Tool entwickelt, das sich in einer frühen Beta-Phase befindet und am besten im Firefox 3.6 funktioniert. Zwei der neuen Angriffe können damit komfortabel nachvollzogen werden. Der simulierte Angriff kann entweder in einem sichtbaren Modus zum Beobachten der einzelnen Schritte oder in einem unsichtbaren Modus ähnlich einem richtigen Angriff vorgeführt werden.

Fragment-Identifier als Wegweiser

Als erste Neuerung verweist Paul Stone auf die Möglichkeit, den Zielframe statt über Pixelkoordinaten über Fragment-Identifier zu positionieren. Während bei der absoluten Positionierung über Pixelkoordinaten z.B. dynamische Inhalte zu einer Verschiebung des Ziels führen können, wird es bei der Positionierung über Fragment-Identifier immer am oberen Rand des Sichtbereichs positioniert. Dabei können nicht nur die bekannten Anker nach dem Muster <a name="irgendwas"> angesprungen werden, sondern alle Elemente, die ein ID-Attribut haben, z.B. <div id="name">. Da ID-Attribute oft im Zusammenhang mit Style-Informationen oder JavaScript-Code eingesetzt werden, ist die Wahrscheinlichkeit, dass ein gewünschtes Zielobjekt ein ID-Attribut enthält, ziemlich hoch.

Falls das gewünschte Ziel kein ID-Attribut enthält und kein Anker in der Nähe ist, kann eine Kombination beider Positionierungsansätze die Wahrscheinlichkeit erhöhen, dass das Ziel tatsächlich an der richtigen Position liegt: Ist bekannt, dass das Ziel z.B. 100 Pixel über einem Anker oder einem Objekt mit ID liegt, kann die Seite mit diesem Fragment-Identifier geladen werden, was den darüber identifizierten Ankerpunkt bzw. das darüber identifizierte Objekt an den oberen Rand des iframes positioniert. Danach muss der Zielframe dann nur noch um 100 Pixel verschoben werden, um das eigentliche Ziel an die gewünschte Position zu bringen.

Texte in Textfelder einfügen

Clickjacking heißt Clickjacking, weil damit Klicks entführt werden - und damit ist auch schon die größte Einschränkung des Angriffs erfasst: Es ist nicht möglich, Textfelder zu manipulieren. Um diese Einschränkung zu umgehen, setzt Paul Stone auf die Drag&Drop-API, die als Teil von HTML5 standardisiert wurde. Mit der API ist es möglich, Daten an den Beginn einer Verschiebe-Operation zu setzen und die fallen gelassenen Daten zu lesen. Und das ohne die Einschränkungen der Same-Origin-Policy, die Daten können beliebig über Domaingrenzen hinweg verschoben werden. Das erlaubt in Verbindung mit Clickjacking einen neuen Angriff, der von Paul Stone als 'Text-Field Injection' bezeichnet wird:

  1. Eine bösartige Webseite bringt den Benutzer dazu, ein Objekt auf der Seite zu verschieben.
  2. Beim Start der Verschiebe-Operation wird der gewünschte Text über die Drag&Drop-API ausgewählt.
  3. Nachdem die Verschiebe-Operation gestartet wurde, wird ein unsichtbarer iframe unter dem Mauszeiger platziert, der ein Formular auf einer anderen Website enthält. Dessen Textfeld liegt dabei genau unter dem Mauszeiger.
  4. Beim Fallen lassen landet der vom Angreifer ausgewählte Text im Formular.

Diese Schritte können so oft wiederholt werden, bis alle gewünschten Texte kopiert bzw. Felder gefüllt wurden, danach wird über Clickjacking der Sende-Button ausgelöst.

Die entscheidende Frage ist: Warum sollte der Benutzer überhaupt eine Drag&Drop-Operation durchführen? Dafür ist wieder etwas Social Engineering erforderlich, z.B. in Form eines Spiels. Aber auch andere Aktionen können missbraucht werden, z.B. das Bewegen eines Sliders. Da der Angreifer die Positionen des Start- und Zielpunkts kontrolliert, sind Richtung und Distanz der Verschiebe-Operation egal, wichtig ist nur, dass der Mauszeiger nach dem Druck auf die Maustaste einige Pixel bewegt und danach die Maustaste losgelassen wird.

Ein Angreifer kann so Formulare auf fremden Seiten mit Texten seiner Wahl füllen. Es ist aber auch möglich, Texte von fremden Seiten in die eigene Seite kopieren zu lassen und dadurch sensitive Informationen auszuspähen. Wie das funktioniert, erfahren Sie in der nächsten Folge - hier auf ceilers-news.de!

Carsten Eilers

Update 13.5.2015
Aus Anlass des 5jährigen Blog-Jubiläums habe ich alle Clickjacking-Artikel zusammengefasst, überarbeitet, ergänzt und auf den aktuellen Stand gebracht. Das Ergebnis ist ein (natürlich kostenloses) eBook im ePub- und PDF-Format: 5 Jahre Blog - Als Special: "Clickjacking"-eBook
Ende des Updates vom 13.5.2015


Übersicht über alle Artikel zum Thema

Clickjacking - Angriffe auf Seiten ohne Schwachstellen
Clickjacking - Auch komplizierte Aktionen sind möglich
Clickjacking - Framebuster oder HTTP-Header verhindern Angriffe
Der Angriff der Clickjacking-Würmer, "Likejacking" und "Buttonjacking"
Clickjacking - "Likejacking" unter die Haube geguckt
Clickjacking - The next Generation
Clickjacking - Drag&Drop-Angriffe und weitere Neuigkeiten
Cookiejacking - Keksdiebe im Internet Explorer
Likejacking - Facebook im Visier der Cyberkriminellen
Clickjacking - Gute und Schlechte Nachrichten
Standpunkt: Clickjacking gegen Flash, urchin.js und Duqu - nichts als Wiederholungen!
Neue Angriffe auf Webanwendungen über Clickjacking und Cookies
Clickjacking-Angriffe verhindern - der aktuelle Stand der Dinge
Clickjacking: Cross Origin Resource Jacking und ein Clickjacking-BeEF-PlugIn
Clickjacking: "Zaubertricks" ermöglichen Likejacking und mehr
Dieses und Jenes zum Clickjacking
5 Jahre Blog - Als Special: "Clickjacking"-eBook

Trackbacks

Dipl.-Inform. Carsten Eilers am : 2010 - Ein Rückblick auf ein ereignisreiches Jahr

Vorschau anzeigen
2010 war ein gerade aus Sicht der IT-Sicherheit ereignisreiches Jahr. 2011 kann es gerne ruhiger zugehen, aber vermutlich gilt wie immer die Regel von Bernd dem Brot: &quot;Alles ist wie immer, nur schlimmer! Einige Beispiele: So hat z.B. das Bund

Dipl.-Inform. Carsten Eilers am : Präsentationen und Links zu meinen #wtc11-Vorträgen sind online

Vorschau anzeigen
Ich habe soeben die Präsentationen zu meinen Vorträgen auf der WebTech Conference hochgeladen. Sie finden Sie auf www.ceilers-it.de/konferenzen/ sowie auch hier: Client Security im Web 2.0 und mit HTML5 Beschreibung: Schwachstel

Dipl.-Inform. Carsten Eilers am : Werbung in eigener Sache: E-Book "HTML5 Security" veröffentlicht

Vorschau anzeigen
Statt eines Standpunkt gibt es diesmal Werbung in eigener Sache. Vielleicht haben Sie den Hinweis in der rechten Seitenleiste ja schon gesehen: Ich habe ein neues Buch geschrieben. Sein Titel: &quot;HTML5 Security&quot;. Erschienen ist es in der neuen E-Bo

Dipl.-Inform. Carsten Eilers am : HTML5 Security - Weitere Angriffe

Vorschau anzeigen
Einige Angriffe mit bzw. über HTML5 bilden den (vorläufigen) Abschluss des Themas &quot;HTML5 Security&quot;. Los geht es mit dem Missbrauch des Fullscreen API: Phishing mit vollem Bild Wie sich das Fullscreen API von HTML5 für Phishing

Dipl.-Inform. Carsten Eilers am : Drucksache: PHP Magazin 2.2014 - Angriffsziel Webbrowser

Vorschau anzeigen
Im PHP Magazin 2.2014 ist ein Artikel über den aktuellen Stand der Sicherheit von HTML5 und JavaScript erschienen. Im PHP Magazin 3 und 4/2012 wurden zuletzt Artikel über die Sicherheit von HTML5 veröffentlicht. Da drängt s