Clickjacking
Ein echter Klick, auf eine Schaltfläche, die Ihnen die Seite nie gezeigt hat.
Was ist Clickjacking?
Clickjacking leiht sich einen Klick, anstatt ihn zu stehlen. Ein Angreifer rahmt Ihre Seite in einem transparenten Iframe ein, positioniert eine harmlos aussehende Schaltfläche über Ihrem Genehmigen-Steuerelement und der Klick des Opfers gelangt direkt zum Original. Sowohl der Klick als auch die Sitzung sind echt, sodass der Server dies nicht erkennen kann. Sie erstellen das Overlay und genehmigen eine Zahlung, die niemand leisten sollte. Anschließend reparieren Sie den Handler mit Content-Security-Policy: frame-ancestors 'none' und behalten X-Frame-Options: DENY als Legacy-Fallback bei.
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
-
Keine eigene Überweisung möglich
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
Signed in to a mule account named Coastal Marketing LLC , Bob files a request to pull $2,500 from Alice's account. He enters her email and the amount.
-
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 für kostenlosen Kaffee
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 stehen.
-
Geld wird vom Konto abgebucht
Seconds later, a fraud alert lands. A $2,500 payment she never knowingly approved has left her account.
-
Sehen, was der Klick tatsächlich traf
Alice öffnet die Gewinnspielseite erneut. Als Security Engineer will sie sehen, was ihr Klick tatsächlich ausgelöst hat. Sie zieht einen Regler, der alles einblendet, was über dem Kaffee-Button liegt.
-
Den Angriff benennen
Bevor Sie Code anfassen, klären Sie genau, was gerade passiert ist.
-
Den Freigabe-Handler öffnen
Alice wechselt von der Betroffenen zur Entwicklerin. Die Freigabeseite wird vom Dienst für Zahlungsanforderungen erzeugt. Sie öffnet den Handler, um herauszufinden, warum er überhaupt auf einer fremden Website geladen werden kann.
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