Was ist Clickjacking?
Clickjacking ist eine Angriffsmethode, bei der ein Angreifer ein Webseiten-Element tarnt oder unsichtbar über eine bestehende Seite legt, um Sie umzuleiten oder dazu zu bringen, auf etwas anderes zu klicken. Wenn Sie klicken oder dazu verleitet werden, auf ein anderes Element zu klicken, können Sie versehentlich auf bösartige Websites gelangen, Ihre Zugangsdaten preisgeben oder sensible Informationen offenlegen. Sie könnten sogar Produkte online über eine gefälschte, betrügerische Website kaufen.
Clickjacking-Angriffe werden in der Regel durchgeführt, indem Ihnen eine unsichtbare Seite oder ein HTML-Element, typischerweise innerhalb eines iframes, über eine bereits sichtbare Seite gelegt wird. Dadurch glauben Sie, dass Sie auf die tatsächlich sichtbare Seite klicken, in Wirklichkeit klicken Sie jedoch auf einen unsichtbaren Button oder ein Element, das mit einer zusätzlichen Seite verknüpft ist, die darübergelegt wurde.
Falls das etwas verwirrend klingt, bleiben Sie dran. In diesem Leitfaden erklären wir, was Clickjacking-Angriffe sind und wie sie funktionieren. Sie erfahren, wie Sie Clickjacking verhindern und was Sie gegen solche Fälle tun können.
.jpg)
Warum ist Clickjacking-Prävention 2026 wichtig?
Clickjacking ist relevant, weil es eine harmlose Interaktion in etwas Gefährliches verwandelt, das verheerende Folgen haben kann. Sie bemerken nicht einmal das Overlay, das auf Ihrer Seite platziert wurde. Es ist mit bloßem Auge unsichtbar und kann die Benutzeroberfläche Ihrer Seite so verändern, dass Ihre Benutzeraktionen fehlgeleitet werden. Wenn Sie auf einer bösartigen Seite mit bereits authentifizierten Social-Media-Konten landen, kann der Angreifer Ihre sensiblen Zugangsdaten und weitere Details stehlen.
Clickjacking ist auch deshalb relevant, weil ein einziger oder versteckter Klick Ihre Kontoeinstellungen ändern, Sie zwangsweise für andere Inhalte abonnieren oder Seiten ohne Ihre Zustimmung folgen lassen kann. Stellen Sie sich vor, ein Hacker erhält Ihre Zugangsdaten, indem er Sie durch Clickjacking auf eine Seite klicken lässt. Er kann dann die Kontrolle über Ihr Konto übernehmen und Sie zu bösartigen Aktivitäten verleiten, ohne dass Sie im Hintergrund etwas davon mitbekommen.
Clickjacking untergräbt das Vertrauen Ihrer Kunden in Ihr Unternehmen, erhöht Ihre Supportkosten und erschwert die Prävention solcher Angriffe – insbesondere, je fragmentierter und skalierter sie über verschiedene Dienste hinweg auftreten. Das größte Problem ist, dass Benutzer die Overlays Ihrer Website nicht von diesen täuschenden Overlays unterscheiden können, da sie verborgen bleiben.
Wie funktionieren Clickjacking-Angriffe?
Ein häufiges Beispiel für einen Clickjacking-Angriff sind unsichtbare „Kaufen“- und „Gefällt mir“-Buttons, auf die Sie klicken, weil Sie denken, dass Sie ein Popup schließen. Ein weiteres klassisches Szenario ist das Platzieren eines versteckten „Aktivieren“- oder „Freischalten“-Buttons am unteren Rand einer Benutzeroberfläche eines Videospiels, das Sie spielen.
Beachten Sie, dass Clickjacking kein Phishing ist. Phishing zielt darauf ab, Sie zu überzeugen oder zu überreden, eine Aktion auszuführen. Bei einem Clickjacking-Angriff werden Sie jedoch getäuscht oder hereingelegt, indem Ihre Klicks fehlgeleitet werden. Clickjacking wirkt natürlicher, da Sie nicht misstrauisch werden und den Angriff nicht kommen sehen (es ist nicht so offensichtlich).
Getarnte Klicks können auch Käufe, OTPs und Überweisungen bestätigen, ohne dass Ihre Bestätigung oder Authentifizierung erforderlich ist. Clickjacking-Angriffe können UI-Elemente nutzen, um Berechtigungen zu erteilen, die unter falschen Vorwänden angeklickt werden. Es kann auch Ihre Kamera, Ihr Mikrofon und Ihre Standort-Einstellungen aktivieren und die Privatsphäre durch täuschende Overlays gefährden.
Ist ein Clickjacking-Angriff also eine Art Browser-Bug? Nicht wirklich, aber er kann Standardfunktionen Ihrer Seite wie Layering und iframes missbrauchen.
Kann Single Sign-On-Authentifizierung das verhindern? Nein, das funktioniert nicht, da ein Clickjacking-Angriff Ihre Benutzeroberfläche manipulieren kann, während SSO nur für das Identitätsmanagement zuständig ist.
Sowohl mobile Apps als auch Hybrid-Apps können von Clickjacking-Angriffen betroffen sein, insbesondere wenn sie zum Anzeigen externer Inhalte verwendet werden.
Wie erkennt man Clickjacking-Schwachstellen?
Eine der besten Methoden zur Erkennung von Clickjacking-Schwachstellen ist es, zu versuchen, Ihre Webseite von anderen Servern aus einzubetten.
- Öffnen Sie eine lokale Umgebung und erstellen Sie eine einfache HTML-Datei. Nennen wir dies Ihre Proof of Concept (PoC) HTML-Datei. Verwenden Sie nun ein <iframe>-Tag im HTML-Body. Betten Sie die URL der sensiblen Seite, die Sie testen möchten, mit Ihrem
<iframe>-Tag ein. - Ersetzen Sie Ihre Ziel-URL durch die URL der Seite, die Sie testen möchten. Speichern und öffnen Sie die Seite in Ihrem Browser. Wenn der Inhalt Ihrer Zielseite erfolgreich geladen wird (die, die Sie im iframe-Tag angegeben haben), ist Ihre Seite höchstwahrscheinlich verwundbar. Wenn sie nicht geladen wird, sind Sie sicher.
- Dies ist die erste Methode zur Erkennung einer Clickjacking-Schwachstelle, die wir als manuelles Testen bezeichnen.
Eine weitere Möglichkeit ist das Testen auf Umgehung von Schutzmechanismen. Sie können ein einfaches Frame-Busting-Skript verwenden, falls JavaScript von Ihrem Webbrowser deaktiviert wurde. Sie können auch fortgeschrittene Techniken wie Double Framing zur Clickjacking-Prävention und zum Testen einsetzen.
Automatisierte Schwachstellenscanner können Webanwendungen auf falsch konfigurierte Anti-Clickjacking-HTTP-Header prüfen und einige davon können die HTTP-Response-Header in den Netzwerktabs inspizieren. Seiten mit fehlenden Headern wie X-Frame-Options und Content-Security-Policy sind anfällig.
Es gibt auch Tools, die Ihre Klicks auf Zielseiten aufzeichnen und mit Angriffs-UI-Overlays abspielen, um reale Angriffsszenarien zu simulieren. Diese helfen Ihnen, verschiedene Clickjacking-Schwachstellen zu finden.
Wie verhindert man Clickjacking-Angriffe?
Hier sind einige Möglichkeiten, wie Sie Clickjacking-Angriffe verhindern können:
Verwenden Sie Permissions Policy zur Steuerung von Browser-Funktionen
Moderne Browser ermöglichen es Ihnen, zu begrenzen, auf welche Funktionen eingebettete iframes zugreifen können. Setzen Sie den Permissions-Policy-Header, um Fullscreen, Geolokalisierung, Kamera, Mikrofon und Payment Request APIs zu deaktivieren. So verhindern Sie, dass Angreifer sensible Browser-Funktionen über Overlays kapern. Selbst wenn Sie hereingelegt werden, können sie ohne Ihre ausdrückliche Zustimmung keine gefährlichen Berechtigungen auslösen. Dies ist eine intelligente Verteidigungsschicht, die einschränkt, was Angreifer mit ihren Overlays tatsächlich tun können.
Setzen Sie iframe-Sandbox-Einschränkungen für eingebettete Inhalte ein
Wenn Sie externe Inhalte in iframes einbetten, sperrt das sandbox-Attribut diese standardmäßig ab. Blockieren Sie Skripte, Formulare und Pop-ups, es sei denn, Sie benötigen sie explizit. Verwenden Sie die allow-Werte mit Bedacht – erlauben Sie allow-scripts nur, wenn das iframe wirklich JavaScript benötigt, und vermeiden Sie allow-same-origin, sofern nicht unbedingt erforderlich. Diese Containment-Strategie verhindert, dass bösartige eingebettete Inhalte auf Ihre Hauptseite oder Benutzerdaten zugreifen. Testen Sie Ihre Sandbox-Konfigurationen regelmäßig, um sicherzustellen, dass sie wie beabsichtigt funktionieren.
Überwachen Sie das Klickverhalten der Benutzer mit Event-Listenern
Fügen Sie JavaScript-Event-Listener hinzu, um zu verfolgen, woher Klicks tatsächlich stammen. Prüfen Sie, ob Klicks von legitimen UI-Elementen oder von Positionen kommen, die nicht mit sichtbaren Buttons übereinstimmen. Vergleichen Sie event.target mit event.currentTarget, um Abweichungen zu erkennen. Dies hilft, Klicks zu erkennen, die scheinbar auf sichtbare Elemente zielen, tatsächlich aber unsichtbare Ebenen darunter treffen. Auch wenn dies entschlossene Angreifer nicht aufhält, erkennt es gängige Overlay-Tricks und schafft Prüfpfade für Sicherheitsteams.
Setzen Sie Machine Learning und KI-Erkennung ein
Fortschrittliche ML-Modelle können Clickjacking-Muster erkennen, indem sie Seitenlayouts und Benutzerinteraktionen analysieren. Diese Systeme erkennen verdächtige iframe-Overlays, ungewöhnliche Elementpositionierungen und Verhaltensanomalien in Echtzeit. CNN- und neuronale Netzwerkmodelle, die auf Phishing-Datensätzen trainiert wurden, können Bedrohungen identifizieren, bevor Benutzer geschädigt werden. Mit zunehmender Verbesserung dieser Technologien werden sie auch ausgeklügelte Angriffe erkennen, die herkömmliche Schutzmechanismen umgehen. Setzen Sie automatisierte Bedrohungserkennung zusätzlich zu Ihren HTTP-Headern für einen umfassenderen Schutz ein.
Verwenden Sie Browser-Fingerprinting zur Erkennung verdächtiger Aktivitäten
Erstellen Sie für jeden Besucher einen eindeutigen digitalen Fingerabdruck basierend auf Browser-, Geräte- und Hardwaremerkmalen. Vergleichen Sie Fingerabdrücke mit Ihrer Datenbank bekannter Benutzer. Wenn Sie Klicks von einem neuen Gerät oder Standort sehen, der noch nie verwendet wurde, markieren Sie dies für eine zusätzliche Überprüfung. Fingerprinting erkennt Emulatoren, VPNs und Spoofing-Tools, die Angreifer zur Verschleierung ihrer Identität nutzen. In Kombination mit Verhaltensanalysen hilft es, echte Benutzer von Bots und Betrügern zu unterscheiden, die Clickjacking-Angriffe versuchen.
Zeigen Sie Benutzern Indikatoren für die Echtheit der Website an
Zeigen Sie visuelle Wasserzeichen oder Herkunftsnachweise an, die belegen, dass Ihre Seite echt und unverändert ist. Wenn Benutzer sehen, dass diese Indikatoren verschwinden oder sich ändern, deutet das auf eine gefälschte Seite oder einen Overlay-Angriff hin. Defensiver UI-Code kann erkennen, wenn Ihre Seite gerahmt wird, und automatisch Warnungen anzeigen. Benutzer lernen, diesen visuellen Hinweisen zu vertrauen, was es Angreifern erschwert, sie zum Klicken auf versteckte Elemente zu verleiten.
Best Practices zur Clickjacking-Prävention
Hier sind einige Best Practices zur Clickjacking-Prävention:
1. Setzen Sie X-Frame-Options HTTP-Header
Die erste Verteidigungslinie ist das Setzen des X-Frame-Options-Headers auf Ihrem Server. Dieser teilt Browsern mit, ob Ihre Seite in einem iframe oder Frame geladen werden darf. Sie haben hier drei Hauptoptionen:
- 'DENY' ist die sicherste Wahl und blockiert jede Domain, Ihre Inhalte zu framen.
- 'SAMEORIGIN' erlaubt nur Ihrer eigenen Domain, die Seite zu framen, was funktioniert, wenn Sie internes Framing benötigen.
- 'ALLOW-FROM uri' ermöglicht das Whitelisting bestimmter vertrauenswürdiger Domains, sollte aber wegen Kompatibilitätsproblemen mit Vorsicht verwendet werden.
2. Implementieren Sie Content Security Policy mit frame-ancestors
CSP ist die moderne Methode zur Clickjacking-Prävention und flexibler als X-Frame-Options. Sie fügen die frame-ancestors-Direktive zu Ihrem Content Security Policy-Header hinzu und geben an, welche Domains Ihre Inhalte framen dürfen. Setzen Sie sie auf 'none', wenn Sie kein Framing benötigen, oder spezifizieren Sie vertrauenswürdige Domains mit CSP-Syntax.
3. Sichern Sie Ihre Session-Cookies mit dem SameSite-Attribut
Kennzeichnen Sie alle Ihre Session-Cookies mit dem SameSite-Attribut, entweder auf 'Strict' oder 'Lax' gesetzt. Dadurch wird verhindert, dass Cookies gesendet werden, wenn Ihre Seite in einem iframe von einer anderen Domain geladen wird.
In Kombination mit anderen Schutzmaßnahmen verhindert dies, dass Angreifer authentifizierte Benutzersitzungen durch Framing-Angriffe kapern. Der Schutz ist bei 'Strict' am stärksten, aber 'Lax' bietet ein gutes Gleichgewicht zwischen Sicherheit und Benutzerfreundlichkeit für legitime Cross-Site-Navigation.
4. Fügen Sie Frame-Busting-JavaScript-Code hinzu
Fügen Sie einen JavaScript-Frame-Buster im <head>-Bereich Ihres HTML-Dokuments ein. Dieses Skript prüft, ob Ihre Seite in einem Frame geladen wird, und bricht automatisch aus, wenn dies erkannt wird. Es ist eine einfache Backup-Schicht, die in den meisten modernen Browsern funktioniert. Stellen Sie sicher, dass Ihr Frame-Busting-Code solide ist; vermeiden Sie veraltete Techniken, die Angreifer mit fortgeschrittenen Framing-Methoden wie Double Framing leicht umgehen können.
5. Verwenden Sie window.confirm() für kritische Aktionen
Bevor Sie Benutzern erlauben, sensible Transaktionen abzuschließen oder Kontoeinstellungen innerhalb von iframes zu ändern, verwenden Sie die window.confirm()-Methode, um eine explizite Bestätigung zu erzwingen. Dadurch wird ein Dialogfeld erzeugt, das Benutzer aktiv bestätigen müssen, bevor sie fortfahren. Selbst wenn andere Schutzmaßnahmen umgangen werden, erhöht dies die Hürde und fängt versehentliche Klicks ab, auf die Angreifer setzen.
6. Testen Sie Ihre Schwachstellen regelmäßig
Erstellen Sie lokal eine einfache HTML-Datei mit einem iframe-Tag, das auf die URL Ihrer Seite zeigt. Versuchen Sie, sie in Ihrem Browser zu laden, um zu sehen, ob Ihre Seite im Frame erscheint. Wenn sie erfolgreich geladen wird, sind Sie verwundbar und müssen die oben genannten Header implementieren. Wenn sie nicht geladen wird, funktionieren Ihre Schutzmaßnahmen. Verwenden Sie automatisierte Schwachstellenscanner, um fehlende X-Frame-Options- und CSP-Header in Ihren HTTP-Response-Headern zu prüfen. Manuelles Testen in Kombination mit Automatisierung bietet umfassenden Schutz.
7. Überwachen Sie auf Fehlkonfigurationen
Verwenden Sie Tools, die Ihre HTTP-Response-Header direkt aus den Netzwerktabs Ihres Browsers inspizieren können. Suchen Sie auf jeder Seite nach X-Frame-Options- und Content-Security-Policy-Headern. Seiten, denen diese Header fehlen, sind potenzielle Ziele. Einige automatisierte Scanner können auch auf Umgehung von Schutzmechanismen testen und Schwachstellen in Ihrer Implementierung markieren.
8. Integrieren Sie doppelte Bestätigungsschritte
Lassen Sie Ihre Benutzer eine doppelte Bestätigung durchführen, bevor sie eine explizite und besonders sensible Aktion (wie Geldüberweisung oder Kontolöschung) ausführen dürfen. Verlassen Sie sich nicht auf clientseitige Skripte.
9. Schulen Sie Ihre Benutzer
Informieren Sie Ihre Mitarbeitenden über Clickjacking-Angriffe und deren Funktionsweise. Schulen Sie sie im Erkennen von verdächtigen Overlays, ungewöhnlichen Popups und plötzlichen Berechtigungsanfragen. Welche Maßnahmen Sie auch immer zur Clickjacking-Prävention umsetzen, prüfen Sie diese anhand des OWASP Clickjacking Cheat Sheet und vergewissern Sie sich, dass Ihre Seite wirklich geschützt ist.
Fazit
Clickjacking ist heutzutage ein häufiges Problem, aber keine Sorge – jetzt wissen Sie, was Sie auf Browser- und Client-Seite erwarten können. Serverseitige Protokolle können die Nutzung von Browser-iframes einschränken und gegen Clickjacking-Angriffe schützen.
Wie effektiv ein Clickjacking-Angriff ist, hängt auch vom Verhalten auf Browser-Seite ab. Wenn Sie sich an die besten Webstandards und sichere Browsing-Praktiken halten, sind Sie und Ihre Benutzer wahrscheinlich sicher. Bleiben Sie wachsam, prüfen Sie Ihre Browser-Konformität und nutzen Sie X-Frame-Options und Content Security Policy umfassend für ausreichenden Schutz!
FAQs
Clickjacking liegt vor, wenn Angreifer Benutzer dazu bringen, auf Dinge zu klicken, die sie nicht beabsichtigen. Eine bösartige Website legt unsichtbare Schaltflächen oder Links über legitime Inhalte. Wenn Sie auf eine scheinbar normale Schaltfläche klicken, aktivieren Sie tatsächlich etwas, das sich dahinter verbirgt. Der Angreifer kontrolliert, was als Nächstes passiert. Ihre Klicks können unerwünschte Aktionen wie das Ändern von Kontoeinstellungen, das Posten von Inhalten oder das Autorisieren von Berechtigungen auslösen. Sie bemerken nicht einmal, dass es passiert ist.
Fehlende X-Frame-Options-Header sind der Hauptgrund, warum Clickjacking funktioniert. Wenn Ihre Website diesen Header nicht setzt, können Angreifer sie in iframes einbetten. Das Nichtverwenden von Content-Security-Policy-Headern macht Sie ebenfalls verwundbar. Einige Seiten validieren Benutzeraktionen nicht richtig, was es einfach macht, Besucher zu täuschen. Websites, die keine Anti-Framing-Techniken implementieren, sind Zielscheiben. Alte Frameworks ohne integrierte Schutzmechanismen sind besonders gefährdet. Anwendungen, die sensible Vorgänge verarbeiten, benötigen geeignete Schutzmaßnahmen, sonst kann Clickjacking erfolgreich sein.
Entwickler sollten den X-Frame-Options-Header auf DENY oder SAMEORIGIN setzen. Dadurch wird verhindert, dass Browser Ihre Seite in iframes laden. Sie können auch Content Security Policy mit der frame-ancestors-Direktive verwenden, um das Framing zu steuern. Überprüfen Sie alle wichtigen Benutzeraktionen, insbesondere sensible wie Zahlungen oder Berechtigungsänderungen. Fügen Sie visuelle Indikatoren hinzu, damit Benutzer erkennen, wenn sie mit echten Schaltflächen interagieren. Testen Sie Ihre Seite regelmäßig, um Framing-Schwachstellen zu finden. Verwenden Sie JavaScript-Framebusting-Code als zusätzliche Absicherung, wenn ältere Browser im Einsatz sind.
X-Frame-Options ist ein HTTP-Header, der Browsern mitteilt, ob Ihre Seite in einem Frame angezeigt werden darf. Bei Einstellung auf DENY wird Ihre Seite in keinem iframe geladen, Punkt. SAMEORIGIN erlaubt das Framing nur von derselben Domain. ALLOW-FROM ermöglicht es, vertrauenswürdige Domains anzugeben, die Ihre Seite einbetten dürfen. Browser beachten diesen Header und blockieren Framing-Versuche von anderen Seiten. Angreifer können Ihre Inhalte ohne Ihre Erlaubnis nicht überlagern. Dieser einfache Header entfernt das wichtigste Werkzeug, das Angreifer für Clickjacking nutzen, und macht deren Vorgehen unmöglich.
Sie können Ihre Response-Header mit Online-Tools oder den Entwicklertools Ihres Browsers überprüfen. Suchen Sie nach dem X-Frame-Options-Header in den HTTP-Antworten Ihrer Website. Wenn dieser fehlt, sind Sie verwundbar. Erstellen Sie eine Test-HTML-Datei, die Ihre Seite in einem iframe einbettet, und prüfen Sie, ob sie geladen wird. Wenn Ihre Seite im iframe angezeigt wird, ist Clickjacking möglich. Manuelles Testen hilft, aber automatisierte Sicherheitsscanner finden Probleme schneller. Testen Sie sowohl Ihre Hauptdomain als auch Subdomains. Denken Sie daran, nach Änderungen erneut zu testen, um zu bestätigen, dass Ihre Korrektur tatsächlich funktioniert.
Fügen Sie zunächst den X-Frame-Options-Header zu allen Ihren Antworten hinzu. Setzen Sie ihn auf DENY, es sei denn, Sie benötigen Framing. Verwenden Sie Content Security Policy-Header für zusätzlichen Schutz. Schulen Sie Benutzer, um auf ungewöhnliches Verhalten oder unerwartete Aufforderungen zu achten. Gehen Sie nicht davon aus, dass Klicks von Besuchern immer beabsichtigt sind. Implementieren Sie CSRF-Tokens für wichtige Aktionen. Halten Sie Ihr Framework und Ihre Bibliotheken aktuell, da dadurch Schwachstellen behoben werden. Führen Sie regelmäßig Sicherheitsüberprüfungen durch, um Fehlkonfigurationen zu erkennen. Testen Sie Ihre Schutzmaßnahmen häufig, damit Sie wissen, dass sie im Ernstfall tatsächlich funktionieren.


