Clickjacking (auch UI-Redress-Angriff genannt) ist eine Angriffstechnik, bei der ein Angreifer eine fremde Webseite unsichtbar in ein eigenes Seiten-Layout einbettet, sodass Besucher auf Elemente der fremden Seite klicken, ohne es zu merken. Der Klick wird damit förmlich gekapert: Das Opfer glaubt, einen harmlosen Button oder ein Gewinnspiel zu bedienen, löst in Wirklichkeit aber eine Aktion auf der versteckten Seite aus.
Wie funktioniert Clickjacking?
Der Angreifer baut eine präparierte Seite und lädt darin die Zielseite (etwa ein Bankportal, ein soziales Netzwerk oder einen Konfigurationsdialog) als transparentes iframe. Über CSS werden die fremden Schaltflächen exakt unter die sichtbaren, harmlos wirkenden Elemente der Angreifer-Seite positioniert. Die Same-Origin-Policy verhindert zwar das Auslesen der fremden Seite, erlaubt aber das Einbetten per iframe und das Durchreichen von Mausklicks.
Typische Szenarien: Ein unsichtbarer Like-Button wird mit einem sichtbaren Gewinnspiel-Button überlagert (Likejacking), eine Schaltfläche zum Bestätigen einer Überweisung unter einem vermeintlich harmlosen Klick versteckt oder ein Datei-Upload ausgelöst. Sonderformen sind Cursor-Jacking (der sichtbare Cursor wird durch einen zweiten, unsichtbaren ersetzt) und Double-Clickjacking, bei dem der zweite Klick einer Doppelklick-Geste eine kritische Aktion auslöst.
Schutz gegen Clickjacking
- X-Frame-Options: HTTP-Header mit den Werten DENY oder SAMEORIGIN verhindert, dass Browser die Seite in fremden iframes einbetten.
- Content-Security-Policy: Die moderne Direktive
frame-ancestorsersetzt X-Frame-Options und erlaubt die präzise Angabe erlaubter Ursprünge. - SameSite-Cookies: Beschränken das Senden von Cookies in Cross-Site-Kontexten und schwächen so manche Clickjacking-Variante.
- Bestätigungsschritte: Kritische Aktionen (Überweisungen, Berechtigungen) sollten nie als Ein-Klick-Buttons ohne weitere Rückfrage umgesetzt sein.
JavaScript-Frame-Busting (Code, der die Seite aus fremden Frames ausleert) gilt als unzuverlässig und nur als Verteidigung in der Tiefe. Verwandte Grundlagen: Cross-Site-Scripting (XSS), Content-Security-Policy, Phishing, Session-Hijacking, Spoofing, Drive-by-Download, Watering-Hole-Angriff.