EN

Ungültige Umleitungen und Weiterleitungen in der Cybersicherheit

In diesem Artikel:

Eine Weiterleitung ist ein HTTP-Antworttyp, der Clients darüber informiert, dass sie zu einer anderen Seite weitergeleitet werden. Wenn ein Browser diese Antwort empfängt, lädt er die im Location-Header der Seite definierte URL und schickt die Besucher einer Domain zur neuen Ziel-URL. Während Um- und Weiterleitungen für die Weiterleitung von Benutzern zwischen verschiedenen Seiten unerlässlich sind, können Sicherheitslücken es Angreifern ermöglichen, Benutzer auf unerwünschte Websites zu leiten. In diesem Artikel werden die Schwachstelle bei nicht validierten Um- und Weiterleitungen, ihre Auswirkungen und verschiedene Abhilfemaßnahmen erläutert.

Was sind nicht validierte Weiterleitungen und Weiterleitungen?

Wenn eine Webanwendung für die URL-Umleitungsschwachstelle anfällig ist, akzeptiert sie nicht vertrauenswürdige URL-Eingaben, die dazu führen können, dass sie die Anfrage eines unschuldigen Benutzers auf bösartige Websites umleitet. Angreifer können in der nicht vertrauenswürdigen Eingabe eine bösartige URL erstellen, die das Opfer auf eine vom Angreifer gefälschte Website umleitet, auf der der Benutzer ein Anmeldeformular mit seinen Anmeldedaten ausfüllt. Diese Schwachstelle, die auch als Open Redirects bekannt ist, ermöglicht es Hackern, Links zu erstellen, die die Sicherheitsüberprüfungen der Webanwendung umgehen, um ihre Rechte zu erweitern und privilegierte Funktionen auszuführen

Die Umleitungsschwachstelle wirkt sich nicht direkt auf Webanwendungen aus, da sie es Hackern ermöglicht, Benutzer auf Malware-Seiten zu leiten. Websites, die für Open Redirect-Angriffe anfällig sind, werden hauptsächlich für Phishing-Betrügereien und andere Social-Engineering-Angriffe genutzt, die dem Ruf der Website schaden. Die Schwachstelle der offenen Weiterleitung ist nach wie vor eine der wichtigsten OWASP-Schwachstellen, die ausgenutzt werden kann, um verkettete Angriffe auf Webanwendungen und die zugrunde liegenden Systeme zu starten.

Auswirkungen von nicht validierten Umleitungen und Weiterleitungen

Ungültig gemachte Umleitungen und Weiterleitungen sind nicht so häufig, da sie Teil eines Kettenangriffs sein oder einem Phishing-Angriff vorausgehen müssen. Da die Schwachstelle der offenen Weiterleitung jedoch leicht auszunutzen ist, sind die Angreifer hoch motiviert, sie zu entdecken und auszunutzen. Darüber hinaus öffnet ein erfolgreicher Angriff mit offener Weiterleitung die Anwendung für verschiedene andere Angriffsformen, darunter:

  • Cross-Site-Scripting-Angriffe, bei denen die Webanwendung vom Browser akzeptierte Daten oder Javascript-Protokolle in den Weiterleitungen verwendet
  • Umgehung von Content-Security-Policies, wenn Whitelist-Domains anfällig für offene Weiterleitungen sind
  • Umgehung von Filtern für serverseitige Anforderungsfälschung (SSRF)
  • Response-Headset-Splitting/Carriage Return and Line Feed (CRLF)-Angriffe

Je nach den angegriffenen Benutzerkonten und dem Ausmaß des Kettenangriffs reichen die Auswirkungen eines Angriffs mit nicht validierter Weiterleitung von leicht bis schwer.

Wie lassen sich nicht validierte Weiterleitungen und Weiterleitungen verhindern?

Es gibt mehrere Möglichkeiten, Schwachstellen bei offenen Weiterleitungen zu verhindern, darunter:

Sichere URL-Umleitungen verwenden

Entwickler können Best Practices für die Entwicklung anwenden, um Anfragen automatisch auf eine andere Seite umzuleiten, ohne dass eine Aktion durchgeführt werden muss. Da die Entwickler die neue URL explizit im Code deklarieren, können Angreifer diese nicht manipulieren und unsichere Umleitungen durchführen. 

Eine sichere Umleitungsfunktion kann für die meisten Entwicklungsframeworks implementiert werden. Beispiele hierfür sind:

  • Java – response.sendRedirect(„http://www.darwin.com“)
  • ASP.NET – Response.Redirect(„~/Ordner/Login.aspx“)
  • Rails – redirect_to login_path
  • PHP – header(‚Standort: ‚.$redirect_target.php);

Umleitungen vermeiden

URL-Umleitungen sind nahezu zwecklos und sollten nach Möglichkeit vermieden werden. Abgesehen davon, dass sie eine Angriffsfläche für Cyberangriffe darstellen, führen mehrere Umleitungen auf einer Website auch zu einem Overhead, der die Reaktionszeit der Anwendung erheblich verlangsamt. Es wird daher empfohlen, dass Entwickler Umleitungen nur dann einrichten, wenn sie den Standort einer Seite/Site ändern, ohne die Benutzerfreundlichkeit wesentlich zu beeinträchtigen. 

Zusätzlichen Schutz für den URL-Parameter aktivieren

Entwickler sollten sicherstellen, dass die Webanwendung keine URLs als Eingabe des Benutzers für Zielparameter akzeptiert. Stattdessen sollte der Client bei Bedarf aufgefordert werden, eine ID, ein Token oder einen Antwortcode anzugeben, der einem Ziel auf der Serverseite zugeordnet ist. Diese Technik schützt die Anwendung vor Angreifern, die bösartige URLs einschleusen, die die Opfer auf nicht vertrauenswürdige Websites umleiten, die jedoch vertrauenswürdig erscheinen.

Suchmaschinen von Redirect-Skripten ausschließen

Entwickler sollten eine robots.txt-Datei einfügen, die Suchmaschinen-Crawler auflistet. Dies hält Manipulatoren davon ab, Benutzer dazu zu verleiten, über Websuchergebnisse auf bösartige Links zu klicken. 

Sichere URLs validieren

Bei der Umleitung von Anfragen an externe URLs sollten Entwickler IP-Filter und andere serverseitige Techniken zur Verhinderung von Anfragefälschungen einsetzen, mit denen die Anwendung feststellen kann, ob die Ziel-URL sicher ist oder nicht. 

Whitelist für vertrauenswürdige URLs

Reinigen Sie URL-Benutzereingaben, indem Sie vertrauenswürdige URLs in einer Regex- oder Hosts-Datei auflisten. Die Whitelist (Zulassen-Liste) ist effektiver als die Blacklist, da sie eine strengere Kontrolle der Ziel-URLs in den vom Benutzer bereitgestellten Eingabeformularen ermöglicht.

Benutzer über die Umleitung benachrichtigen

Es wird empfohlen, die Umleitung auf einer Benachrichtigungsseite zu erzwingen, die den Benutzer über die Umleitung informiert. Diese Seite sollte auch die Ziel-URL enthalten, mit einem Link, auf den der Benutzer klicken sollte, um zu bestätigen, dass es sich um ein vertrauenswürdiges Ziel handelt.

Abhilfemaßnahmen für nicht validierte Um- und Weiterleitungen

Es gibt mehrere Maßnahmen, die Unternehmen zur Behebung von Schwachstellen in Weiterleitungen einsetzen können. Dazu gehören:

Eliminierung von Umleitungsfunktionen

Das Ersetzen von Umleitungsfunktionen in der Anwendung durch direkte Links zum Umleitungsziel minimiert die Erfolgsaussichten von Phishing-Versuchen.

Dadurch wird automatisch die Richtlinie des gleichen Ursprungs umgesetzt und eine angemessene Validierung durchgesetzt, indem sichergestellt wird, dass alle Weiterleitungen vom gleichen Webserver stammen, der die HTTP-Antwort sendet.

Interne Weiterleitungen erzwingen

Die meisten Programmiersprachen enthalten eine lokale Redirect-Hilfsmethode, die eine Ausnahme auslöst, wenn die Anfrage an eine nicht-lokale URL weitergeleitet wird. Auf diese Weise wird eine minimale Filterrichtlinie implementiert, die Umleitungen auf eine lokale Subdomain einschränkt.

Wie Crashtest Security Ihnen bei nicht validierten Umleitungen und Weiterleitungen helfen kann

Die Crashtest Security Suite hilft Unternehmen, ihre JavaScript-, API- und Webanwendungen gegen Sicherheitsrisiken zu schützen, indem sie einen kontinuierlichen Testmechanismus einrichtet. Die Suite enthält einen automatisierten Schwachstellen-Scanner, der die Webanwendung gegen OWASP-Risiken wie unvalidierte Umleitungen und Weiterleitungen testet. 

Die umfassenden Penetrationstests von Crashtest Security identifizieren Kettenangriffsmuster, indem sie unentdeckte Angriffsflächen automatisch ausnutzen und darüber berichten. Starten Sie Ihre kostenlose 2-wöchige Testversion und erfahren Sie, wie Sie das Risiko, durch einen Fehler bei der Eingabevalidierung gehackt zu werden, verringern können.

Erhalten Sie jetzt kostenlos einen schnellen Sicherheitsbericht für Ihre Website

Wir analysieren derzeit http://example.com
Wir scannen derzeit http://example.com
Status des Scans: In Bearbeitung
Scan target: http://example.com/laskdlaksd/12lklkasldkasada.a
Datum: 27/05/2022
Crashtest Security Suite prüft auf:
Information disclosure Known vulnerabilities SSL misconfiguration Open ports
Scanauftrag ausfüllen
Bitte geben Sie Ihre Daten ein, um die schnelle Sicherheitsüberprüfung zu erhalten.
Ein Sicherheitsspezialist analysiert gerade Ihren Scan-Bericht.
Bitte geben Sie Ihre Telefon-/Handynummer an, damit wir Ihre Identität überprüfen können:
Ihren Bericht anfordern
Vielen Dank.
Wir haben Ihren Antrag erhalten.
Sobald Ihr Sicherheitsaudit fertig ist, werden wir Sie benachrichtigen.