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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-43297-POC — CVE-2021-43297 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Hessian-Lite डिसीरियलाइज़ेशन के माध्यम से Apache Dubbo <= 2.7.13 में रिमोट कोड एक्ज़ीक्यूशन प्राप्त करता है। | Kitploit
उपकरण/GitHubGitHub/bitterzzzz/cve-2021-43297-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंट
GitHubbitterzzzz/cve-2021-43297-poc

CVE-2021-43297-POC

CVE-2021-43297 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Hessian-Lite डिसीरियलाइज़ेशन के माध्यम से Apache Dubbo <= 2.7.13 में रिमोट कोड एक्ज़ीक्यूशन प्राप्त करता है।

रिपॉजिटरी देखें
3984 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CVE-2021-43297

भेद्यता विवरण

Dubbo Hessian-Lite 3.2.11 और उससे पहले के संस्करणों में संभावित RCE हमले का जोखिम मौजूद है। जब Hessian-Lite को सीरियलाइज़ेशन अपवाद का सामना करना पड़ता है, तो यह संबंधित जानकारी आउटपुट करता है, जो कुछ दुर्भावनापूर्ण रूप से तैयार किए गए Bean के toString विधि को ट्रिगर कर सकता है, जिससे RCE हमला हो सकता है।

सिद्धांत

शुरुआती POC केवल Apache Dubbo<=2.7.8 पर RCE प्राप्त कर सकता था, सिद्धांत के लिए 先知 लेख देखें (समीक्षा पास होने के बाद वापस आकर संशोधित करें)। सबमिशन के बाद और शोध करने पर, Apache Dubbo<=2.7.13 पर RCE प्राप्त किया जा सकता है, सिद्धांत विश्लेषण के लिए मेरा ब्लॉग लेख देखें

प्रभाव निम्नलिखित है

POC उपयोग की शर्तें:

  • apache dubbo <= 2.7.13 या alibaba dubbo का संबंधित संस्करण
  • dubbo provider का ip और पोर्ट ज्ञात हो, और एक्सेस किया जा सके
  • dubbo provider में XBean चेन मौजूद हो
  • dubbo provider सर्वर बाहरी HTTP GET अनुरोधों की अनुमति देता है

पर्यावरण स्थापना और POC चलाना

  • सबसे पहले zookeeper डाउनलोड करें
root@kitploit:~
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
tar zxvf zookeeper-3.3.3.tar.gz
cd zookeeper-3.3.3
cp conf/zoo_sample.cfg conf/zoo.cfg
  • कॉन्फ़िगरेशन
root@kitploit:~
vim conf/zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/पूर्ण_पथ/zookeeper-3.3.3/data
# the port at which the clients will connect
clientPort=2181
  • पूर्ण पथ संशोधित करें, data निर्देशिका में एक myid फ़ाइल रखें
root@kitploit:~
mkdir data
touch data/myid
  • zookeeper प्रारंभ करें
root@kitploit:~
cd /private/var/tmp/zookeeper-3.3.3/bin
./zkServer.sh start
  • dubbo-samples-api स्थापित करें
root@kitploit:~
git clone https://github.com/apache/dubbo-samples.git
cd dubbo-samples/dubbo-samples-api
  • dubbo-samples/dubbo-samples-api/pom.xml संशोधित करें
root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>dubbomytest</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


    <properties>
        <source.level>1.8</source.level>
        <target.level>1.8</target.level>
        <dubbo.version>2.7.6</dubbo.version>
        <junit.version>4.12</junit.version>
        <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
        <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version>
        <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
        <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
        <image.name>${project.artifactId}:${dubbo.version}</image.name>
        <java-image.name>openjdk:8</java-image.name>
        <dubbo.port>20880</dubbo.port>
        <zookeeper.port>2181</zookeeper.port>
        <main-class>org.apache.dubbo.samples.provider.Application</main-class>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-common</artifactId>
            <version>2.7.3</version>
        </dependency>

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper</artifactId>
            <version>2.7.3</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.apache.xbean</groupId>
            <artifactId>xbean-naming</artifactId>
            <version>4.15</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

</project>
  • xbean पैकेज

provider पक्ष और स्थानीय दोनों पर स्थापित करना आवश्यक है, निर्भरता निम्नलिखित है

root@kitploit:~
<dependency>
    <groupId>org.apache.xbean</groupId>
    <artifactId>xbean-naming</artifactId>
    <version>4.15</version>
</dependency>
  • संकलन और प्रारंभ

IDEA में dubbo-samples-api जोड़ें, zookeeper और dubbo के पोर्ट संशोधित करने पर ध्यान दें, साथ ही Application.java में कोड संशोधित करें:

root@kitploit:~
service.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":" + zookeeperPort+"/?timeout=250000"));

उच्च संस्करण के dubbo को zookeeper से कनेक्ट होने में धीमा होने और कनेक्शन विफल होने से रोकने के लिए

idea में dubbo-samples-api के Application.java प्रारंभ करें

प्रारंभ के बाद dubbo service started आउटपुट होने का मतलब है कि dubbo प्रारंभ हो गया है

  • POC चलाएं स्थानीय रूप से निर्भरता जोड़ें:
root@kitploit:~
<dependency>
   <groupId>org.apache.dubbo</groupId>
   <artifactId>dubbo-common</artifactId>
   <version>2.7.3</version>
</dependency>
<dependency>
   <groupId>org.apache.dubbo</groupId>
   <artifactId>dubbo</artifactId>
   <version>2.7.3</version>
</dependency>
<dependency>
   <groupId>org.apache.dubbo</groupId>
   <artifactId>dubbo-dependencies-zookeeper</artifactId>
   <version>2.7.3</version>
   <type>pom</type>
</dependency>
<dependency>
   <groupId>com.caucho</groupId>
   <artifactId>hessian</artifactId>
   <version>4.0.51</version>
</dependency>

ExecTest.java संकलित करें, फिर HttpServer.java में ExecTest.class का पथ संशोधित करें, फिर HttpServer.main विधि निष्पादित करें, अंत में HessianLitePoc.main विधि निष्पादित करें

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