Reverse Tabnapping

Beim Reverse Tabnapping öffnet deine Website einen neuen Tab – und der nutzt deine eigene Seite als Einfallstor, um etwas ganz anderes anzuzeigen. Eine kleine Sicherheitslücke mit großer Wirkung.

Das steckt im Detail hinter Reverse Tabnapping

Man klickt auf einen Link mit target="_blank" – und erwartet, dass sich die verlinkte Seite brav in einem neuen Tab öffnet. So weit, so normal.

Was viele nicht wissen:
Ein solches Fenster behält automatisch Zugriff auf das ursprüngliche Fenster – über window.opener. Und genau hier kommt Reverse Tabnapping ins Spiel.

Was passiert dabei genau?

Stell dir vor:

Deine Website enthält einen Link nach außen, z. B. zu einem Partner oder einer Quelle. Die verlinkte Seite ist manipuliert oder wurde kompromittiert. Die Seite nutzt window.opener.location = "https://fakeshop.xyz" – und lädt dein Ursprungsfenster neu, mit einer Fake-Version deiner eigenen Seite.

Für den/die Nutzer:in sieht es so aus, als wäre plötzlich deine Seite neu geladen – mit einem neuen Login-Formular oder einem verdächtig günstigen Angebot.
In Wahrheit sitzt man gerade in der Falle.

Wie schützt man sich?

Es gibt zwei einfache Maßnahmen:

Variante 1: HTML-Attribut rel="noopener"

So verhinderst du, dass der neue Tab überhaupt Zugriff auf das Ursprungsfenster bekommt:

<a href="https://example.com" target="_blank" rel="noopener">Externe Seite</a>

Variante 2: HTTP-Header Cross-Origin-Opener-Policy

Noch besser: Du sagst dem Browser grundsätzlich, dass Fenster voneinander isoliert bleiben sollen:

Cross-Origin-Opener-Policy: same-origin

Der Vorteil: Du musst dich nicht mehr um einzelne Links kümmern – der Schutz gilt pauschal.

Warum ist das so relevant?

  • Weil fast jede Website externe Links öffnet
  • Weil target="_blank" Standard ist – besonders im CMS
  • Und weil man nicht kontrollieren kann, was auf fremden Seiten passiert

Gerade bei Unternehmenswebseiten, Shops oder Portalen, die Vertrauen vermitteln müssen, kann ein erfolgreicher Reverse-Tabnapping-Angriff immensen Schaden anrichten.

Noch mehr "nice to know"