HTML - Link sicherer gestalten
Situation
Auf externe Quellen sind einfache Links gesetzt, die in einem neuen Fenster geöffnet werden.
Es besteht die Gefahr des 'Tabnabbings'.
Abhilfe
Link in der Weise gestalten, dass dies hier mit in den Link aufgenommen wird:
rel="noopener noreferrer"
Beispiel
<a href=".../ordnername/seitenname.html" target="_blank" rel="noopener noreferrer">Linktext</a>
Der Abschnitt '.../ordnername/seitenname.html' wird durch den tatsächlichen Link ersetzt.
Erklärung
1. Das Einfallstor (Die JavaScript-Brücke)
Wenn ein Nutzer auf der Website auf den Link klickt, öffnet sich wie gewünscht ein neuer Tab mit der fremden Website. Im Hintergrund passiert jetzt aber etwas Unbemerktes: Der Webbrowser gibt der neuen, fremden Website ein mächtiges JavaScript-Werkzeug in die Hand – das Objekt namens window.opener. Dieses Objekt ist wie eine Fernbedienung, die direkt auf den ursprünglichen Tab (der eigenen Website) zurückzeigt.
2. Der Angriff (Der unbemerkt geänderte Tab)
Die fremde Website (oder eine eigentlich harmlose Seite, die von Hackern manipuliert wurde) nutzt diese Fernbedienung aus. Sie führt im Hintergrund automatisch ein kurzes JavaScript aus, sobald der Nutzer die Seite betritt.
3. Die Falle schnappt zu (Phishing)
Während der Nutzer auf dem neuen Tab liest, ändert sich eigene Website im alten Tab unbemerkt. Sie lädt im Hintergrund eine neue Adresse – zum Beispiel eine täuschend echte Kopie einer Login-Maske eines Online-Dienstes oder Bankings.
- Der Nutzer schließt irgendwann den neuen Tab und kehrt zu vorherigen Tab zurück.
- Er denkt, er befindet sich immer noch auf der vertrauenswürdigen Website, sieht aber die Login-Maske.
- Oft glaubt der Nutzer, er wurde einfach nur wegen Inaktivität 'ausgeloggt'.
- Er gibt arglos seinen Benutzernamen und sein Passwort ein – und die Daten landen direkt bei den Angreifern.
Warum das so gefährlich ist
Das Perfide an dieser Lücke ist, dass der Angriff auf deiner Domain startet. Der Nutzer hat ursprünglich deine sichere Adresse in der Browserzeile gesehen und schöpft deshalb beim Zurückkehren selten Verdacht, selbst wenn sich die URL im Hintergrund geändert hat.