Clickjacking
Ein echter Klick auf eine Schaltfläche, die Sie nie gesehen haben.
Was ist Clickjacking?
Beim Clickjacking nutzt der Angreifer einen Klick für einen anderen Zweck. Er lädt Ihre Seite in einen transparenten iframe und lässt über der Freigabeschaltfläche scheinbar einen harmlosen Button erscheinen. Der Klick des Opfers trifft die echte Freigabe. Da Klick und Sitzung gültig sind, kann der Server den Betrug nicht erkennen. Sie bauen die Überlagerung nach und geben ungewollt eine Zahlung frei. Anschließend schützen Sie den Handler mit Content-Security-Policy: frame-ancestors 'none' und ergänzen X-Frame-Options: DENY als Fallback für ältere Browser.
Was Sie lernen in Clickjacking
- Clickjacking als UI-Redress-Angriff erkennen: Der Klick ist echt und vom Nutzer autorisiert, aber der sichtbare Kontext, in dem er zu klicken glaubte, war eine Täuschung
- <code>Content-Security-Policy: frame-ancestors 'none'</code> (oder den Legacy-Header <code>X-Frame-Options: DENY</code>) auf jede Antwort anwenden, die den Zustand verändert
- Verstehen, dass die Durchsetzung im Browser beabsichtigt ist: Der Server kann „diese Anfrage lädt mich in einem iframe“ nicht zuverlässig erkennen, aber der Browser kennt den Einbettungskontext sicher
- Den Header pro Route mit globaler Middleware gegen Einbettung kombinieren, damit das nächste zustandsändernde Formular standardmäßig geschützt ausgerollt wird
- Für legitime Einbettungen (Partnerportal, internes Dashboard) <code>frame-ancestors 'self'</code> oder eine explizite Allowlist vertrauenswürdiger Origins verwenden, niemals eine pauschale Freigabe für alle
Clickjacking — Trainingsschritte
-
Bob kann das Geld nicht selbst überweisen
Bob kann nicht einfach auf das Bankkonto einer fremden Person zugreifen. Bei Tideline Bank kann jedoch jeder Kunde eine Zahlung von einem anderen anfordern ; das Geld wird erst überwiesen, wenn der Kontoinhaber die Anforderung freigibt. Heute hat er es auf Alice abgesehen, eine Kundin von Tideline Bank. Er beginnt auf der Anforderungsseite der Bank.
-
Die Zahlungsanforderung vorbereiten
Bob ist bei einem Mule-Konto namens Coastal Marketing LLC angemeldet und fordert 2.500 US-Dollar von Alices Konto an. Er gibt ihre E-Mail-Adresse und den Betrag ein.
-
Die Falle stellen
Die Anforderung wartet nun in Alices Konto darauf, dass sie auf Freigeben tippt. Wissentlich würde sie das nie tun. Deshalb baut Bob ein Gewinnspiel für kostenlosen Kaffee und versteckt ihren eigenen Freigabe-Button direkt unter dem Kaffee-Button. Dann schickt er ihr das Gewinnspiel per E-Mail und wartet auf einen einzigen Klick.
-
Eine E-Mail mit einem Gratiskaffee-Angebot
Nach Feierabend erhält Alice eine fröhliche E-Mail: kostenloser Kaffee, mit nur einem Klick zu sichern. Nichts verlangt ein Passwort. Alles wirkt völlig harmlos.
-
Den Kaffee sichern
Alice klickt auf den Link, um ihren kostenlosen Kaffee zu sichern.
-
Ein Klick
Die Gewinnspielseite öffnet sich: ein freundlicher Button für kostenlosen Kaffee. Alice klickt darauf. Sichtbar verändert sich nichts. Die Kaffeeseite bleibt einfach, wie sie ist.
-
Geld wird vom Konto abgebucht
Sekunden später trifft eine Betrugswarnung ein. Eine Zahlung über 2.500 US-Dollar , die sie nie bewusst freigegeben hat, ist von ihrem Konto abgegangen.
-
Sehen, was der Klick tatsächlich traf
Alice öffnet die Gewinnspielseite erneut. Als Sicherheitsingenieurin will sie sehen, wo ihr Klick tatsächlich gelandet ist. Sie zieht einen Regler, der alles einblendet, was über dem Kaffee-Button liegt.
-
Den Angriff benennen
-
Den Freigabe-Handler öffnen
Alice wechselt von der Betroffenen zur Sicherheitsingenieurin. Die Freigabeseite wird vom Dienst für Zahlungsanforderungen erzeugt. Sie öffnet den Handler, um herauszufinden, warum sich die Seite überhaupt in eine fremde Website einbetten lässt.
Abdeckung der Sicherheits-Frameworks
OWASP Top 10
- A02:2025 Security Misconfiguration
- A05:2021 Security Misconfiguration
CWE
- CWE-1021 Improper Restriction of Rendered UI Layers or Frames
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security