Unsichere URL-Weiterleitung
Echte Domain, echtes Login, dann eine 302 an den Angreifer.
Was ist Unsichere URL-Weiterleitung?
Eine offene Weiterleitung sendet den Browser an ein aus der Anfrage übernommenes Ziel, ohne zu fragen, ob das Ziel Ihnen gehört. Die Anwendung profitiert nicht von dem Fehler; Der Angreifer erhält Ihren Hostnamen in dem Moment, in dem der Benutzer ihm am meisten vertraut. Sie spielen eine Anmeldung ab, die einen next -Parameter berücksichtigt, und beobachten, wie ein 302 das Opfer zu einer ähnlichen Anmeldeseite führt. Dann korrigieren Sie res.redirect(req.query.next) nur mit relativen Pfaden oder einer Hostnamen-Zulassungsliste und sehen, warum startsWith('/') ein protokollrelatives //host direkt passieren lässt.
Was Sie lernen in Unsichere URL-Weiterleitung
- Eine offene Weiterleitung als Beschleuniger für Phishing erkennen: Der Angreifer nutzt den legitimen Hostnamen als Vertrauensanker
- Verstehen, dass protokollrelative URLs (<code>//host</code>) naive Prüfungen mit <code>startsWith("/")</code> bestehen und gesondert blockiert werden müssen
- Die Prüfung auf relative Pfade anwenden (oder eine Hostnamen-Allowlist, wenn externe Weiterleitungen tatsächlich erforderlich sind)
- Offene Weiterleitungen von SSRF unterscheiden: Der Angreifer steuert den Browser, nicht den Server, und die Auswirkung ist präziseres Phishing, nicht Zugriff auf interne Netzwerke
- Jeden Aufruf von <code>res.redirect</code>, <code>location.href</code> und jede Antwort mit <code>302 Location</code> prüfen, deren Ziel aus einer Anfrageeingabe abgeleitet wird
Unsichere URL-Weiterleitung — Trainingsschritte
-
Das Ziel auskundschaften
Heute hat Bob es auf Fernloft-Konten abgesehen. Der persönliche Cloud-Dienst speichert in einem Konto das ganze Leben einer Person: Fotos, Steuerunterlagen, Ausweisscans und Backups. Er kennt kein Passwort und will deshalb untersuchen, wie die Anmeldung von innen funktioniert. Bei Fernloft kann sich jeder registrieren, daher beginnt er auf der Registrierungsseite.
-
Ein Wegwerfkonto erstellen
Zunächst braucht er zum Testen ein eigenes Konto, das nicht zu ihm zurückführt. Er gibt eine Wegwerfadresse und ein Passwort ein und erstellt es.
-
Die Anmeldeadresse prüfen
Nach der Kontoerstellung landet Bob auf der Anmeldeseite. Vor der Anmeldung prüft er die Adressleiste. Der Anmeldelink enthält den Wert redirect_to , derzeit /home , der bestimmt, wohin die Anwendung den Browser nach erfolgreicher Anmeldung sendet.
-
Anmelden und die Weiterleitung beobachten
Nun meldet sich Bob mit seinem Wegwerfkonto an und beobachtet, wohin die Anwendung den Browser nach Annahme des Passworts sendet.
-
Den bösartigen Link erstellen
Bob erstellt denselben Anmeldelink, ändert aber den Wert redirect_to , damit er statt auf /home auf eine von ihm kontrollierte Seite verweist. Er ändert in der Adressleiste nur diesen Wert, um zu sehen, ob die Anwendung einem externen Ziel ebenso folgt wie /home .
-
Offene Weiterleitung bestätigt
Bob meldet sich mit seinem Wegwerfkonto auf der echten Fernloft-Seite an. Die Zugangsdaten sind echt, daher gelingt die Anmeldung. Danach liest die Anwendung seinen manipulierten Wert redirect_to , um zu bestimmen, wohin sie den Browser sendet.
-
Den Link präparieren
Bob verpackt den präparierten Anmeldelink in eine Nachricht, auf die viele reagieren würden: eine Warnung vor einer abgelaufenen Sitzung. Er beschafft sich Fernloft-Adressen aus einem Datenleck und verschickt allen denselben Link. Wir folgen einer Empfängerin: Alice.
-
Eine Warnung zu Ihrem Konto
Nach Feierabend prüft Alice ihr privates Postfach. Dort liegt eine Nachricht von Fernloft: Ihre Sitzung sei abgelaufen und sie müsse ihre Identität bestätigen, um ihre Dateien zu behalten. Sie nutzt Fernloft für alles; den Zugriff zu verlieren, wäre ein echtes Problem.
-
Auf den Link klicken
Der Link verweist auf account.fernloft.com, die echte Adresse von Fernloft. Deshalb klickt Alice darauf, wie es jeder tun würde.
-
Die echte Anmeldeseite
Der Link öffnet die echte Anmeldeseite von Fernloft. Die Adressleiste zeigt die echte Domain über https, alles sieht richtig aus – und genau jetzt entscheidet Alice, der Seite zu vertrauen.
Abdeckung der Sicherheits-Frameworks
OWASP Top 10
- A01:2025 Broken Access Control
- A01:2021 Broken Access Control
CWE
- CWE-601 URL Redirection to Untrusted Site ('Open Redirect')
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