Unsichere URL-Weiterleitung

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

Unsichere URL-Weiterleitung — Trainingsschritte

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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 .

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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