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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/tranphuc2005/cve-2023-22515
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubtranphuc2005/cve-2023-22515

CVE-2023-22515

CVE-2023-22515 के लिए चरण-दर-चरण शोषण वॉकथ्रू, जो Atlassian Confluence Server और Data Center में एक महत्वपूर्ण टूटी हुई एक्सेस नियंत्रण भेद्यता है, जो दूरस्थ व्यवस्थापक खाता निर्माण को सक्षम बनाती है।

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

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

सभी देखें →

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

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

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

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

CVE-2023-22515

CVE-2023-22515 के बारे में मुख्य जानकारी

  • प्रभावित उत्पाद: Atlassian Confluence Data Center और Confluence Server.

  • प्रकाशन तिथि: 04/10/2023.

  • गंभीरता स्तर: क्रिटिकल (CVSS ~ 10.0).

  • भेद्यता प्रकार: टूटा हुआ एक्सेस कंट्रोल / अनुचित प्राधिकरण → हमलावर को दूरस्थ रूप से व्यवस्थापक खाता बनाने की अनुमति देता है।

  • त्रुटि Confluence सेटअप तंत्र में स्थित है

  • प्रभाव: Confluence Data Center और Server 8.0.0 → 8.5.1.

भेद्यता खोज का कार्यान्वयन

  • सबसे पहले Confluence स्थापित करते समय सर्वर को संचालित करने के लिए कॉन्फ़िगरेशन चरण होता है, जैसे DATABASE से कनेक्शन, उपयोगकर्ता बनाना, आदि। ये कार्य WEB ब्राउज़र और URL पथ /setup/ के माध्यम से किए जाते हैं। कॉन्फ़िगरेशन का अंतिम चरण /setup/setupadministrator.action होगा।
  • पूरा होने के बाद, ये सेटिंग्स कॉल नहीं की जाएंगी। यदि हम इसे कॉल करने का प्रयास करते हैं, तो यह एक त्रुटि संदेश प्रदर्शित करेगा

1

  • यह struts.xml के इंटरसेप्टर से उत्पन्न होता है

SetupCheckInterceptor
  • struts.xml Struts के लिए केंद्रीय कॉन्फ़िगरेशन फ़ाइल है।

  • यह परिभाषित करता है कि Confluence URL को Action class → View template से कैसे मैप करता है।

  • साथ ही इंटरसेप्टर (वे वर्ग जो एक्शन चलाने से पहले/बाद में अनुरोध प्रोसेसिंग को रोकते हैं) घोषित करता है।

1

SetupCheckInterceptor में BootstrapUtils.getBootstrapManager().isSetupComplete() कॉल किया जाता है

root@kitploit:~
public String intercept(ActionInvocation actionInvocation) throws Exception {
    if (BootstrapUtils.getBootstrapManager().isSetupComplete() && ContainerManager.isContainerSetup())
        return "alreadysetup"; 
    return actionInvocation.invoke();
}

स्पष्टीकरण

  • BootstrapUtils.getBootstrapManager().isSetupComplete()
    → जाँचता है कि Confluence ने सेटअप प्रक्रिया (विज़ार्ड के माध्यम से, लाइसेंस दर्ज करना, व्यवस्थापक उपयोगकर्ता बनाना) पूरी कर ली है या नहीं।

  • ContainerManager.isContainerSetup()
    → जाँचता है कि Spring IoC कंटेनर पूरी तरह से आरंभ हो गया है या नहीं।

  • यदि दोनों शर्तें सत्य हैं:
    → इसका मतलब है कि सिस्टम पूरी तरह से सेटअप हो चुका है → इंटरसेप्टर तुरंत "alreadysetup" लौटाता है।
    → एक्शन (आमतौर पर SetupDatabaseAction, SetupLicenseAction जैसे सेटअप एक्शन) को आगे नहीं चलने देता।

  • यदि सेटअप पूरा नहीं हुआ है:
    → actionInvocation.invoke() कॉल करता है → अर्थात उपयोगकर्ता द्वारा अनुरोधित एक्शन का निष्पादन जारी रहता है।

getBootstrapManager() → आमतौर पर DefaultAtlassianBootstrapManager लौटाता है जो सेटअप प्रक्रिया के दौरान सभी मुख्य कॉन्फ़िगरेशन जानकारी का प्रबंधन करता है

  • DefaultAtlassianBootstrapManager.isSetupComplete में हम देख सकते हैं कि यह जाँचने के लिए एप्लिकेशन कॉन्फ़िगरेशन विधि isSetupComplete को कॉल करता है कि सेटअप पूरा हो गया है या नहीं।

1

=> यदि हम isSetupComplete को False बनाते हैं तो SetupCheckInterceptor "alreadysetup" वापस नहीं करेगा और /setup/setupadministrator.action तक पहुँचा जा सकेगा।

नीचे हमारे पास एक ServerInfoAction है

  • ServerInfoAction = Confluence में एक सार्वजनिक एक्शन → बिना लॉगिन, बिना CSRF टोकन के किसी भी उपयोगकर्ता को कॉल करने की अनुमति देता है। चलने पर, यह केवल "success" लौटाता है → एक टेम्पलेट पर मैप होता है जो सर्वर की जानकारी प्रदर्शित करता है।

1

  • यह ConfluenceActionSupport से विरासत में मिला है
  • ConfluenceActionSupport में हम फिर से getBootstrapStatusProvider देखते हैं जो BootstrapStatusProviderImpl लौटाता है, जो वही उदाहरण है जिसे हम ढूंढ रहे हैं

1

  • BootstrapStatusProviderImpl में फिर getApplicationConfig है जो एप्लिकेशन का कॉन्फ़िगरेशन लौटाता है

1

  • अंत में ApplicationConfig के अंदर जाने पर देखा जा सकता है कि यह setSetupComplete की जाँच को लागू करता है

1

  • उपरोक्त भागों को मिलाकर, हम setSetupComplete को false में बदलने के लिए विधियों की एक श्रृंखला निकाल सकते हैं
root@kitploit:~
getBootstrapStatusProvider(). getApplicationConfig (). setSetupComplete ( false );
  • XWorks2 हमें इस प्रकार की गेटर/सेटर श्रृंखला को निष्पादित करने की अनुमति देगा, हम XWorks2 द्वारा आवश्यक संकेतन का उपयोग करके उपरोक्त विधि कॉल श्रृंखला को लागू करने के लिए एक HTTP पैरामीटर बना सकते हैं
root@kitploit:~
bootstrapStatusProvider.applicationConfig.setupComplete=false
  • हम /server-info.action का लाभ उठाएंगे, जो Confluence में एक URL है, जिसे ServerInfoAction द्वारा संभाला जाता है क्योंकि यह एक सार्वजनिक एंडपॉइंट है जिसमें लॉगिन की आवश्यकता नहीं है।
root@kitploit:~
/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false

1

आइए डीबग की जाँच करें:

  • setupComplete (विधि में पास किया गया पैरामीटर)
    → false
    अर्थात विधि को false पैरामीटर के साथ कॉल किया जा रहा है।

  • this.setupComplete (ApplicationConfig ऑब्जेक्ट का इंस्टेंस वेरिएबल)
    → true (असाइनमेंट से पहले)।

  • जब कमांड निष्पादित हो जाता है → this.setupComplete false हो जाएगा।

1

  • उपरोक्त चरण पूरा करने के बाद, आइए एंडपॉइंट /setup/setupadministrator.action पर फिर से जाने का प्रयास करें, और यह सफल होता है

1

  • बनाने के बाद, लॉग इन करें और अधिकारों की जाँच करें

1

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