Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
fastjson-check — शून्य-निर्भरता वाला, ऑफ़लाइन CLI स्कैनर जो JARs और Spring Boot fat-JARs के अंदर fastjson खोजता है, CVE-2026-16723 जोखिम को चिह्नित करता है, और CI गेटिंग के लिए shaded dependencies का पता लगाता है। | Kitploit
उपकरण/GitHubGitHub/xiaoqimikko/fastjson-check
भेद्यता स्कैनरभेद्यता विश्लेषणDevSecOpsआपूर्ति श्रृंखला सुरक्षा
GitHubxiaoqimikko/fastjson-check

fastjson-check

शून्य-निर्भरता वाला, ऑफ़लाइन CLI स्कैनर जो JARs और Spring Boot fat-JARs के अंदर fastjson खोजता है, CVE-2026-16723 जोखिम को चिह्नित करता है, और CI गेटिंग के लिए shaded dependencies का पता लगाता है।

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

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

सभी देखें →

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

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

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

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

fastjson-check

Release Downloads License Java

एक ही कमांड से पता लगाएं कि आपके Java एप्लिकेशन में fastjson है या नहीं, कहाँ छिपा है, और क्या यह CVE-2026-16723 से प्रभावित है।

शून्य निर्भरता · पूर्णतः ऑफ़लाइन · एकल 23KB की jar · Java 8+ समर्थित

English | डाउनलोड


इसकी आवश्यकता क्यों है

21 जुलाई 2026 को fastjson ने आधिकारिक रूप से CVE-2026-16723 (CVSS 9.0, रिमोट कोड एक्ज़ीक्यूशन) की घोषणा की:

  • fastjson 1.2.68 ~ 1.2.83 प्रभावित
  • डिफ़ॉल्ट कॉन्फ़िगरेशन में ही शोषण संभव —— AutoType सक्षम करने की आवश्यकता नहीं, classpath gadget की आवश्यकता नहीं, प्रमाणीकरण की आवश्यकता नहीं
  • घोषणा के कुछ ही दिनों के भीतर इन-द-वाइल्ड शोषण देखा गया, मुख्य रूप से Spring Boot fat-JAR परिनियोजन को लक्षित करते हुए

⚠️ आधिकारिक पैच 1.2.84 जारी हो चुका है, लेकिन लगभग किसी को इसकी जानकारी नहीं है

बड़ी संख्या में सुरक्षा सूचनाएँ (कई अंग्रेज़ी सुरक्षा मीडिया सहित) आज भी कहती हैं कि "1.x EOL हो चुका है, कभी भी पैच नहीं आएगा, केवल fastjson2 पर माइग्रेट करें"। यह कथन 2026-07-29 से मान्य नहीं है। आप स्वयं सत्यापित कर सकते हैं:

प्रमाणलिंक
Maven केंद्रीय रिपॉज़िटरी में com.alibaba:fastjson:1.2.84 उपलब्ध है, jar 2026-07-29 को अपलोड किया गयाrepo1
GitHub release 1.2.84, 2026-07-29T08:24:51Z को प्रकाशितrelease
मुख्य कमिट fix: strengthen autoType type name validation and whitelist verification2026-07-29T07:02:55Z

1.2.83 मई 2022 में जारी हुआ था, उसके बाद 1.x शाखा में चार वर्षों तक कोई कमिट नहीं —— 1.2.84 इस कमज़ोरी के लिए विशेष रूप से अपवाद स्वरूप जारी किया गया है।

इसके release शीर्षक में सुरक्षा सुधार का उल्लेख नहीं है: 1.2.83 के शीर्षक में "(सुरक्षा सुधार)" लिखा था, जबकि 1.2.84 में केवल "1.2.84版本发布" लिखा है। लेकिन मुख्य भाग में लिखा गया है —— एक पूरा Security Fixes अनुभाग है, जिसमें चार AutoType सुदृढ़ीकरण बिंदुओं को क्रमबद्ध रूप से सूचीबद्ध किया गया है, और यह जारी होने के पहले दिन (2026-07-29) से ही ऐसा है (Wayback संग्रह 20260729094935 में देखा जा सकता है)।

जहाँ तक पैच जारी होने के बाद भी अधिकांश सुरक्षा सूचनाओं और स्कैनरों द्वारा अनुसरण क्यों नहीं किया गया, इसका मैंने पता नहीं लगाया, यहाँ कोई अनुमान नहीं लगा रहा हूँ।

📌 2026-08-14 सुधार: यहाँ पहले लिखा था "पूरे पाठ में सुरक्षा का उल्लेख नहीं, इसलिए अनुसरण नहीं किया गया"। पहला आधा भाग release के मुख्य पाठ और Wayback के उसी दिन के संग्रह से परीक्षण करने पर गलत पाया गया (केवल शीर्षक में उल्लेख नहीं था), दूसरा आधा भाग इस कारण अपना आधार खो देता है, इसे भी हटा दिया गया है।

👉 1.x उपयोगकर्ताओं पर वास्तविक प्रभाव: 1.2.84 पर अपग्रेड करना सबसे कम लागत वाला उपाय है (उसी शाखा का लघु संस्करण, सामान्यतः कोड बदलने की आवश्यकता नहीं), तुरंत fastjson2 के बड़े संस्करण माइग्रेशन के लिए बाध्य होने की आवश्यकता नहीं। यह टूल इसी के अनुसार सुझाव देता है।

⚠️ पूर्व शर्त JDK 8 या उससे ऊपर है (2026-10-14 परीक्षण): 1.2.84 के 274 class सभी Java 8 बाइटकोड (major 52) हैं, 1.2.83 Java 5 (major 49) है। JDK 7 (Zulu 7u352) पर javac केवल चेतावनी देता है, निकास कोड 0, रनटाइम पर सीधे UnsupportedClassVersionError: com/alibaba/fastjson/JSON : Unsupported major.minor version 52.0 फेंकता है। अन्य: 1.2.84 में JSON.VERSION स्थिरांक अभी भी "1.2.83" है, इससे संस्करण जाँचने पर गलत परिणाम मिलेगा; यह टूल pom.properties पढ़ता है, इससे प्रभावित नहीं होता।

और सबसे मुश्किल बात यह है:

fastjson सामान्यतः एक ट्रांज़िटिव निर्भरता होती है —— कोई इसे सक्रिय रूप से इंस्टॉल नहीं करता, यह किसी अन्य लाइब्रेरी के साथ आ जाती है। कई टीमों को पता ही नहीं होता कि वे इसे उपयोग कर रहे हैं।

mvn dependency:tree निर्भरताएँ सूचीबद्ध कर सकता है, लेकिन दो स्थितियों में असमर्थ है:

  1. आपके पास केवल एक पैकेज किया हुआ fat-JAR है, स्रोत कोड और बिल्ड वातावरण नहीं है (ऑनलाइन आपातकालीन जाँच का सबसे सामान्य परिदृश्य)
  2. fastjson किसी SDK की jar में shade किया गया है, निर्भरता वृक्ष में यह बिल्कुल दिखाई नहीं देता

यह टूल इन्हीं दो स्थितियों के लिए लिखा गया है।

त्वरित शुरुआत

Releases से fastjson-check.jar डाउनलोड करें, फिर:

# 扫一个 jar(Spring Boot fat-JAR 会自动逐层展开)
java -jar fastjson-check.jar ./myapp.jar

# 扫一整个目录(递归查找所有 jar/war)
java -jar fastjson-check.jar /opt/apps

# 输出 JSON,接入流水线
java -jar fastjson-check.jar /opt/apps --json

इंस्टॉल करने की आवश्यकता नहीं, खाते की आवश्यकता नहीं, इंटरनेट की आवश्यकता नहीं, कोई डेटा अपलोड नहीं।

Maven प्लगइन के रूप में चलाएँ (0.3.0 से)

एक ही आर्टिफ़ैक्ट CLI और Maven प्लगइन दोनों है। इस उपयोग में पहले jar डाउनलोड करने की आवश्यकता नहीं है:

# 在你的项目目录下直接跑,扫的是 Maven 解析后的依赖
mvn io.github.xiaoqimikko:fastjson-check:0.3.1:check

या बिल्ड जीवनचक्र में बाँधें (verify चरण):

<plugin>
  <groupId>io.github.xiaoqimikko</groupId>
  <artifactId>fastjson-check</artifactId>
  <version>0.3.1</version>
  <executions>
    <execution>
      <goals><goal>check</goal></goals>
    </execution>
  </executions>
</plugin>

प्लगइन मोड CLI को pom.xml स्कैन करने देने से अधिक सटीक क्यों है

जब CLI pom.xml स्कैन करता है तो जो पढ़ा जाता है वह टेक्स्ट होता है, जबकि वास्तविक प्रोजेक्ट में fastjson का संस्करण अक्सर उस टेक्स्ट में नहीं होता:

  • प्रॉपर्टी के रूप में लिखा गया: <version>${fastjson.version}</version>
  • <parent> से विरासत में मिला, आपके अपने pom में यह पंक्ति नहीं है
  • सबसे आम स्थिति: यह किसी अन्य लाइब्रेरी द्वारा लाई गई ट्रांज़िटिव डिपेंडेंसी है, आपके pom में fastjson का ज़िक्र ही नहीं है

प्लगइन को Maven द्वारा रिज़ॉल्व होने के बाद की डिपेंडेंसी सेट मिलती है, प्रत्येक डिपेंडेंसी के साथ लोकल रिपॉज़िटरी में वास्तविक jar पथ होता है। इसलिए यह ठीक उसी रास्ते पर चलता है जिसमें यह टूल सबसे माहिर है: वास्तविक jar के अंदर com/alibaba/fastjson(2)/JSON.class स्कैन करना, न कि pom में लिखी बातों पर भरोसा करना।

⚠️ लेकिन पहचान की सीमा इसमें नहीं बदली: निर्धारण कुंजी अभी भी वही class पथ है, इसलिए relocate / पैकेज नाम बदलकर पुनः पैकेज की गई डिपेंडेंसी अभी भी पहचानी नहीं जा सकती (नीचे "यह क्या नहीं है" देखें)। प्लगइन "संस्करण कहाँ लिखा है" का समाधान करता है, "पैकेज नाम बदल दिया गया" का नहीं।

पैरामीटर

पैरामीटरडिफ़ॉल्टविवरण
-Dfastjson-check.failOnFoundfalseCRITICAL / HIGH मिलने पर बिल्ड विफल करें
-Dfastjson-check.pathसेट नहींडिपेंडेंसी ट्री स्कैन न करें, इसके बजाय इस पथ को स्कैन करें (डायरेक्टरी / jar / war / fat-jar)
-Dfastjson-check.skipfalseनिष्पादन छोड़ें

🔴 डिफ़ॉल्ट रूप से बिल्ड विफल नहीं होने देना जानबूझकर है, यह CLI के एक्ज़िट कोड अर्थशास्त्र से भिन्न है: कमांड लाइन आप स्वयं टाइप करते हैं, एक्ज़िट कोड 1 वही है जो आप चाहते हैं; जबकि प्लगइन पाइपलाइन पर लगा होता है, एक स्व-जाँच टूल को आपकी बिना तैयारी के बिल्ड को लाल नहीं करना चाहिए। CI गेट के रूप में उपयोग करने के लिए, स्पष्ट रूप से -Dfastjson-check.failOnFound=true जोड़ें।

💡 Windows पर यदि रिपोर्ट में अक्षर बिगड़े हुए (गड़बड़) दिखें, तो कंसोल को वापस GBK पर स्विच करें (chcp 936)—— प्लगइन मोड का आउटपुट एन्कोडिंग Maven द्वारा निर्धारित होता है, CLI के --utf8 / --gbk स्विच यहाँ काम नहीं आते।

आउटपुट ऐसा दिखता है

fastjson-check 0.1.0  —— fastjson 应急排查(离线,不外传任何数据)

扫描目标:myapp.jar
已展开归档:3 个

发现 2 处 fastjson:

[CRITICAL] fastjson 1.2.83
  位置  :myapp.jar!/BOOT-INF/lib/fastjson-1.2.83.jar
  版本来源:pom.properties
  场景  :Spring Boot fat-JAR  ← CVE-2026-16723 的主要在野利用场景
  结论  :命中 CVE-2026-16723(CVSS 9.0 远程代码执行),默认配置即可利用
  处置  :1.x 已停止维护,不会有修复版本。应急处置二选一:①(推荐)迁移至
            fastjson2 2.0.63 或更高版本;② 无法立即迁移时,先启用 SafeMode
            彻底关闭 AutoType 以缓解,但这不是长期方案。
टूल डाउनलोड करें