Open Redirect-Schwachstellen verstehen und suchen

Die Übersetzung des Artikels wurde im Vorfeld des Kurses "Webanwendungssicherheit" vorbereitet .








Eine der häufigsten und dennoch übersehenen Sicherheitslücken von Webentwicklern ist Open Redirect (auch als "Unverified Redirects and Forwards" bekannt). Eine Website ist für Open Redirect anfällig, wenn die Parameterwerte (der Teil der URL nach dem "?") In der HTTP-GET-Anforderung den Benutzer zu einer neuen Site umleiten, ohne die Zielsite zu überprüfen. Abhängig von der Architektur der anfälligen Site kann die Umleitung nach bestimmten Aktionen erfolgen, z. B. nach dem Anmelden, und manchmal sofort beim Laden der Seite.



Ein Beispiel für einen anfälligen Link sieht ungefähr so aus: www.example.com/login.html?RelayState=http%3A%2F%2Fexample.com%2Fnext



In diesem Beispiel gibt der Parameter "RelayState" an, wohin der Benutzer nach einer erfolgreichen Anmeldung umgeleitet werden soll (in unserem Beispiel ist example.com/next ). Wenn die Site den Wert des Parameters "RelayState" nicht auf Legitimität und Sicherheit überprüft , kann der Angreifer diesen Parameter verwenden, um das Opfer auf eine gefälschte Seite umzuleiten, die vom Angreifer selbst erstellt wurde: www.example.com/login.html?RelayState=http%3A%2F % 2FEvilWebsite.com



Sicherheitslücken wie Open Redirect wurden von Entwicklern vernachlässigt, da sie die Site nicht direkt beschädigen und einem Angreifer nicht die Möglichkeit geben, Unternehmensdaten direkt zu stehlen. Dies bedeutet jedoch nicht, dass Open Redirect keine Bedrohung darstellt. Eine der Hauptanwendungen dieser Art von Angriff ist die Durchführung effektiver und zuverlässiger Phishing-Angriffe.



Wenn ein Phishing-Angriff Open Redirect verwendet, erhält ein Opfer möglicherweise eine plausibel aussehende E-Mail mit einem Link, der auf eine korrekte und vertraute Domäne des Opfers verweist. Was das Opfer möglicherweise nicht bemerkt, ist, dass sich in der Mitte der URL Parameter befinden, die den Umleitungsendpunkt ändern. Um die Erkennung von Open Redirect zu erschweren, kann eine Weiterleitung erfolgen, nachdem das Opfer auf einer echten Site einen Benutzernamen und ein Passwort eingegeben hat. Die Angreifer stellten fest, dass ein effektiver Weg, das Opfer auszutricksen, darin besteht, sie auf eine gefälschte Site umzuleiten, nachdem sie ihren Benutzernamen und ihr Passwort auf der realen Site eingegeben haben. Die gefälschte Site ähnelt der realen Site und fordert das Opfer auf, das Passwort erneut einzugeben. Nachdem das Opfer dies getan hat, wird das Passwort vom Angreifer notiert.und das Opfer wird zurück zum realen Ort umgeleitet. Wenn alles richtig gemacht wurde, wird das Opfer denken, dass es beim ersten Mal einen Fehler mit dem Passwort gemacht hat und nicht bemerken, dass sein Benutzername und sein Passwort gestohlen wurden.



Phishing wird sowohl bei den erfolgreichsten gezielten Hacks als auch regelmäßig bei opportunistischen Angriffen eingesetzt. In Anbetracht der Häufigkeit von Phishing im Alltag sollten Schwachstellen wie Open Redirect ebenfalls nicht ausgeschlossen werden.



Es wäre unfair, eine bestimmte Site oder ein bestimmtes Unternehmen als anfällig für Open Redirect herauszustellen, da diese Sicherheitsanfälligkeit häufig vorkommt. Stattdessen wäre es hilfreich zu zeigen, wie viele solcher Websites es gibt und wie leicht sie zu finden sind.



Eine Websuche ist eine der besten Möglichkeiten, um Open Redirect auf Ihrer eigenen Website und an anderer Stelle im Internet im Allgemeinen zu finden.



Die Suchmaschine von Google bietet Ihnen die Flexibilität, Suchanfragen zu schreiben, einschließlich Abfragen, die speziell nach Seiten-URLs suchen.



Mit den folgenden Operatoren und Sonderzeichen kann jeder Benutzer getaggte Abfragen erstellen, mit denen Open Redirect erkannt werden kann:



  • allinurlIst der Betreiber, der Google anweist, die URL nach allen angegebenen Keywords zu durchsuchen. Beispiel: Es allinurl:ReturnUrlwird nach allen Webseiten gesucht, deren Adresse einen ReturnUrl-Teil enthält.
  • site- ein Betreiber, der angibt, nur die Ergebnisse zurückzugeben, die sich auf einer bestimmten Domain oder Website befinden. Beispiel: site:example.comSuche nach Webseiten von example.com.
  • "" - Doppelte Anführungszeichen sind Sonderzeichen, mit denen angegeben wird, nach einer exakten Kombination von Wörtern und Zeichen in Anführungszeichen zu suchen.
  • * - Ein Sternchen ist ein Platzhalter, der ein oder mehrere Wörter darstellt.


Ihre Verwendung ermöglicht es uns, Anzeichen einer möglichen offenen Umleitung zu finden: Wir können gleichzeitig nach dem Vorhandensein der Token "http" und "https" in den Parametern der GET-Anforderung suchen . Zum Beispiel:



allinurl:%3Dhttps*
allinurl:%253Dhttps*
allinurl:%3Dhttp*
allinurl:%253Dhttp*


Wir können auch im Bereich GET-Anforderungsparameter nach bestimmten allgemeinen Wörtern suchen, die sich auf die Umleitung beziehen. Zum Beispiel:



allinurl:"<keyword>=https"
allinurl:"<keyword>=http"
allinurl:<keyword>=https
allinurl:<keyword>=http
allinurl:<keyword>%3Dhttps
allinurl:<keyword>%3Dhttps*
allinurl:<keyword>%253Dhttps
allinurl:<keyword>%253Dhttps*
allinurl:<keyword>%3Dhttp
allinurl:<keyword>%3Dhttp*
allinurl:<keyword>%253Dhttp
allinurl:<keyword>%253Dhttp*
allinurl:<keyword>


Stattdessen verwenden <keyword>wir eines der folgenden Umleitungswörter: RelayState, ReturnUrl, RedirectUri, Return, Return_url, Redirect, Redirect_uri, Redirect_url, RedirectUrl, Forward, Forward_url, SuccessUrl, Redir, Exit_url, Destination . Dies ist keine vollständige Liste der Schlüsselwörter. Weitere Informationen finden Sie, indem Sie die Ergebnisse der allgemeineren URL-Suchabfragen im Abschnitt GET-Anforderungsparameter analysieren.



Für gezielte Suchanfragen können Sie «site:<domain_name>»am Ende Ihrer Google-Suche hinzufügen . Diese Methode kann Ihnen helfen, Open Redirect-Schwachstellen auf Ihrer eigenen Site zu finden.



Mit einer so einfachen Suche können Sie innerhalb von Minuten Dutzende von Open Redirect-Schwachstellen finden. Die Liste der gefährdeten Websites umfasst Websites von Banken, internationalen Unternehmen, vertrauenswürdigen Unternehmen, bevorzugten Projekten und zahlreiche Websites kleiner Organisationen. Als zusätzlichen Bonus erhalten wir jedes Mal, wenn ein Google-Crawler auf Websites von Open Redirect stößt, aktualisierte Ergebnisse mithilfe von Abfragen.



Der beste Weg, um die Open Redirect-Sicherheitsanfälligkeit zu vermeiden, besteht darin, benutzerspezifische Parameterumleitungen oder GET-Anforderungen zu vermeiden. Wenn eine Weiterleitung unvermeidbar ist, können Sie damit umgehen, indem Sie die Zielwebsite validieren und ihre Reputation mit einer Whitelist validierter URLs löschen.



Ich möchte Sie ermutigen, Ihren Webentwicklerfreunden von Open Redirect zu erzählen. Sie können diesen Artikel an sie weiterleiten oder mithilfe der oben genannten Methode sogar Schwachstellen entdecken und dem Unternehmen eine detaillierte Beschreibung des Problems melden. Machen wir es uns gemeinsam schwerer für Phishing-Angriffe!



Wenn Sie Ihre Google-Suchanfragen für die Open Redirect-Erkennung freigeben möchten, können Sie dies in den Kommentaren tun.






Erfahren Sie mehr über den Kurs







All Articles