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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Nginx-CVE-2013-4547 — Nginx CVE-2013-4547 URI पार्सिंग भेद्यता प्रदर्शित करने वाली Docker-आधारित प्रयोगशाला, विशेषाधिकार बाईपास और कोड निष्पादन के लिए चरण-दर-चरण शोषण के साथ। | Kitploit
उपकरण/GitHubGitHub/cyberharsh/nginx-cve-2013-4547
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगगलत कॉन्फ़िगरेशनलर्निंग और शिक्षा
GitHubcyberharsh/nginx-cve-2013-4547

Nginx-CVE-2013-4547

Nginx CVE-2013-4547 URI पार्सिंग भेद्यता प्रदर्शित करने वाली Docker-आधारित प्रयोगशाला, विशेषाधिकार बाईपास और कोड निष्पादन के लिए चरण-दर-चरण शोषण के साथ।

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

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

सभी देखें →

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

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

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

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

Nginx फ़ाइल नाम लॉजिक भेद्यता (CVE-2013-4547)

भेद्यता विवरण

प्रभावित संस्करण: Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

संदर्भ लिंक:

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4547
  • https://blog.werner.wiki/file-resolution-vulnerability-nginx/
  • http://www.91ri.org/9064.html

भेद्यता विवरण

यह भेद्यता वास्तव में कोड निष्पादन से बहुत अधिक संबंधित नहीं है। इसका मुख्य कारण अनुरोध के URI का गलत तरीके से पार्स करना और उपयोगकर्ता द्वारा अनुरोधित फ़ाइल नाम को गलत तरीके से प्राप्त करना है, जिससे अनुमति बाईपास और कोड निष्पादन जैसे संबंधित प्रभाव उत्पन्न होते हैं।

उदाहरण के लिए, जब Nginx .php से समाप्त होने वाले अनुरोध को मैच करता है, तो वह उसे fastcgi द्वारा पार्स करने के लिए भेज देता है। सामान्य कॉन्फ़िगरेशन इस प्रकार है:

root@kitploit:~
location ~ \.php$ {
    include        fastcgi_params;

    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
    fastcgi_param  DOCUMENT_ROOT /var/www/html;
}

सामान्य परिस्थितियों में (जब pathinfo बंद हो), केवल .php एक्सटेंशन वाली फ़ाइलें ही fastcgi को पार्स करने के लिए भेजी जाती हैं।

जबकि CVE-2013-4547 मौजूद होने पर, हम 1.gif[0x20][0x00].php का अनुरोध करते हैं; यह URI रेगेक्स \.php$ से मैच कर सकता है, इसलिए यह इस Location ब्लॉक में प्रवेश कर सकता है। लेकिन प्रवेश के बाद, Nginx गलती से यह मान लेता है कि अनुरोधित फ़ाइल 1.gif[0x20] है, और उसे SCRIPT_FILENAME के मान के रूप में fastcgi को भेज देता है।

fastcgi SCRIPT_FILENAME के मान के आधार पर पार्स करता है, जिसके परिणामस्वरूप अंततः पार्सिंग भेद्यता उत्पन्न होती है।

इसलिए, हमें केवल एक ऐसी फ़ाइल अपलोड करनी होती है जिसके अंत में स्पेस हो, और PHP उसे पार्स कर लेगी।

एक और उदाहरण लें: कई वेबसाइटें बैकएंड तक पहुंच के लिए IP प्रतिबंध लगाती हैं:

root@kitploit:~
location /admin/ {
    allow 127.0.0.1;
    deny all;
}

हम निम्न URI का अनुरोध कर सकते हैं: /test[0x20]/../admin/index.php। यह URI location के बाद वाले /admin/ से मैच नहीं होगा, जिससे उसका IP सत्यापन बायपास हो जाता है; लेकिन अंततः यह /test[0x20]/../admin/index.php फ़ाइल, यानी /admin/index.php, का अनुरोध करता है और बैकएंड तक सफलतापूर्वक पहुंच जाता है। (इसके लिए एक test नामक निर्देशिका होनी चाहिए — यह Linux प्रणाली की विशेषता है। यदि ऐसी निर्देशिका मौजूद नहीं है, तो पिछले स्तर पर जाने पर भी 'फ़ाइल मौजूद नहीं है' त्रुटि उत्पन्न होगी; Windows में यह सीमा नहीं है।)

भेद्यता परीक्षण

भेद्यता वातावरण प्रारंभ करें:

root@kitploit:~
docker-compose build
docker-compose up -d

वातावरण प्रारंभ होने के बाद, http://your-ip:8080/ पर जाकर एक अपलोड पेज देखा जा सकता है।

यह वातावरण ब्लैकलिस्ट सत्यापन का उपयोग करता है; हम php एक्सटेंशन वाली फ़ाइल अपलोड नहीं कर सकते, अतः हमें CVE-2013-4547 का उपयोग करना होगा। हम एक 1.gif अपलोड करते हैं, ध्यान दें कि अंत में स्पेस है:

http://your-ip:8080/uploadfiles/1.gif[0x20][0x00].php पर पहुंचने पर, आप पाएंगे कि PHP पार्स हो चुका है:

ध्यान दें, [0x20] स्पेस है, [0x00] \0 है, और इन दोनों वर्णों को एन्कोड करने की आवश्यकता नहीं है।

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