Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
TInjA — TInjA ist ein CLI-Tool zum Testen von Webseiten auf Template-Injection-Schwachstellen und unterstützt 44 der relevantesten Template-Engines für acht verschiedene Programmiersprachen. | Kitploit
Tools/GitHubGitHub/hackmanit/tinja
SchwachstellenscannerDynamische Code-Analyse (DAST)Webanwendungs-ExploitationWebsicherheitFuzzingPenetrationstests
GitHubhackmanit/tinja

TInjA

TInjA ist ein CLI-Tool zum Testen von Webseiten auf Template-Injection-Schwachstellen und unterstützt 44 der relevantesten Template-Engines für acht verschiedene Programmiersprachen.

Repository anzeigen
4233811vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Release Go Report Card GitHub go.mod Go version License

TInjA – der Template-INJection-Analysator

TInjA ist ein CLI-Werkzeug zum Testen von Webseiten auf Template-Injection-Sicherheitslücken.

Es unterstützt 44 der relevantesten Template-Engines (Stand September 2023) für acht verschiedene Programmiersprachen.

TInjA wurde von Hackmanit und Maximilian Hildebrand entwickelt.

  • Funktionen
  • Unterstützte Template-Engines
  • Installation
    • Option 1: Vorgefertigte Binärdatei
    • Option 2: Installation mit Go
  • Verwendung
Header, Cookies und POST-Body angeben
  • CSTI zusätzlich zu SSTI scannen
  • Einen JSONL-Bericht erstellen
  • Einen Proxy verwenden
  • Eine Ratenbegrenzung festlegen
  • Fehlerbehebung
  • Offene Punkte
  • Hintergrundinformationen
  • Lizenz
  • Funktionen

    • Automatische Erkennung von Template-Injection-Möglichkeiten und Identifikation der verwendeten Template-Engine.
      • 44 der relevantesten Template-Engines werden unterstützt (siehe Unterstützte Template-Engines).
      • Es werden sowohl SSTI- als auch CSTI-Sicherheitslücken erkannt.
        • SSTI = server-seitige Template-Injection
        • CSTI = client-seitige Template-Injection
    • Effizientes Scannen dank der Verwendung von Polyglots:
      • Im Durchschnitt werden nur fünf Polyglots an die Webseite gesendet, bis die Template-Injection-Möglichkeit erkannt und die Template-Engine identifiziert wird.
    • Crawl-Ergebnisse als URLs im JSONL-Format an TInjA übergeben.
    • Eine rohe HTTP-Anfrage an TInjA übergeben.
    • Benutzerdefinierte Header, Cookies, POST-Parameter und Abfrageparameter festlegen.
    • Datenverkehr über einen Proxy leiten (z. B. Burp Suite).
    • Ratenbegrenzung konfigurieren.

    Unterstützte Template-Engines

    .NET

    • DotLiquid
    • Fluid
    • Razor Engine
    • Scriban

    Elixir

    • EEx

    Go

    • html/template
    • text/template

    Java

    • Freemarker
    • Groovy
    • Thymeleaf
    • Velocity

    JavaScript

    • Angular.js
    • Dot
    • EJS
    • Eta
    • Handlebars
    • Hogan.js
    • Mustache
    • Nunjucks
    • Pug
    • Twig.js
    • Underscore
    • Velocity.js
    • Vue.js

    PHP

    • Blade
    • Latte
    • Mustache.php
    • Smarty
    • Twig

    Python

    • Chameleon
    • Cheetah3
    • Django
    • Jinja2
    • Mako
    • Pystache
    • SimpleTemplate Engine
    • Tornado

    Ruby

    • ERB
    • Erubi
    • Erubis
    • Haml
    • Liquid
    • Mustache
    • Slim

    Installation

    Option 1: Vorgefertigte Binärdatei

    Vorgefertigte Binärdateien von TInjA werden auf der Releases-Seite bereitgestellt.

    Option 2: Installation mit Go

    Voraussetzungen: go1.21 oder höher

    root@kitploit:~
    go install -v github.com/Hackmanit/TInjA@latest
    

    Verwendung

    • Eine einzelne URL scannen: tinja url -u "http://example.com/"
    • Mehrere URLs scannen: tinja url -u "http://example.com/" -u "http://example.com/path2"
    • URLs aus einer Datei scannen: tinja url -u "file:/path/to/file"
    • Eine einzelne URL scannen, indem eine Datei mit einer rohen HTTP-Anfrage übergeben wird: tinja raw -R "/path/to/file"
    • URLs mit zusätzlichen Informationen aus einer JSONL-Datei scannen: tinja jsonl -j "/path/to/file"
      • Jede Zeile der JSONL-Datei muss ein einzelnes JSON-Objekt enthalten. Das gesamte JSON-Objekt muss in einer Zeile stehen. Jedes Objekt muss die folgende Struktur aufweisen (zusätzliche Zeilenumbrüche und Einrückungen dienen nur der Darstellung):
    root@kitploit:~
    {
    "request":{
        "method":"POST",
        "endpoint":"http://example.com/path",
        "body":"name=Kirlia",
        "headers":{
            "Content-Type":"application/x-www-form-urlencoded"
        }
    }
    

    Header, Cookies und POST-Body angeben

    • --header/-H gibt Header an, die zur Anfrage hinzugefügt werden sollen.
      • Beispiel: tinja url -u "http://example.com/" -H "Authentication: Bearer ey..."
    • --cookie/-c gibt Cookies an, die zur Anfrage hinzugefügt werden sollen.
      • Beispiel: tinja url -u "http://example.com/" -c "PHPSESSID=ABC123..."
    • --data/-d gibt den POST-Body an, der zur Anfrage hinzugefügt werden soll.
      • Beispiel: tinja url -u "http://example.com/" -d "username=Kirlia&password=notguessable"

    CSTI zusätzlich zu SSTI scannen

    • --csti aktiviert das Scannen nach CSTI.
      • Beispiel: tinja url -u "http://example.com/" --csti

    Standardmäßig scannt TInjA nur nach SSTI. Für das Scannen nach CSTI wird ein Headless-Browser verwendet, was den RAM- und CPU-Verbrauch erhöhen kann.

    Einen JSONL-Bericht erstellen

    • --reportpath aktiviert die Erstellung eines Berichts im JSONL-Format. Der Bericht wird nach jeder gescannten URL aktualisiert und unter dem angegebenen Pfad gespeichert.
      • Beispiel: tinja url -u "http://example.com/" --reportpath "/home/user/Documents"

    Einen Proxy verwenden

    • --proxyurl gibt die URL und den Port eines zu verwendenden Proxys an.
      • Beispiel: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080"
    • --proxycertpath gibt das CA-Zertifikat des Proxys im PEM-Format an (erforderlich beim Scannen von HTTPS-URLs).
      • Beispiel: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080" --proxycertpath "/home/user/Documents/cacert.pem"

    Um HTTPS-URLs mit einem Proxy zu scannen, wird ein CA-Zertifikat des Proxys im PEM-Format benötigt. Burp Suite-CA-Zertifikate werden beispielsweise im DER-Format bereitgestellt. Zur Konvertierung kann der folgende Befehl verwendet werden:

    openssl x509 -inform DER -outform PEM -text -in cacert.der -out cacert.pem

    Eine Ratenbegrenzung festlegen

    • --ratelimit/-r gibt die maximal erlaubte Anzahl von Anfragen pro Sekunde an. Standardmäßig ist diese Anzahl unbegrenzt.
      • Beispiel: tinja url -u "http://example.com/" --ratelimit 10

    Fehlerbehebung

    • [ERR] Couldn't connect to URL: remote error: tls: user canceled
      • Bei Verwendung eines Proxys und Verbindung über HTTPS muss das CA-Zertifikat (.pem) des Proxys mit --proxycertpath angegeben werden (siehe Einen Proxy verwenden).
    • [ERR] Error reading response from target server via proxy: malformed HTTP response "HTTP/1.1"
      • Deaktivieren Sie die Option Default to HTTP/2 if the server supports it in den Einstellungen von Burp Suite (Network > HTTP).

    Offene Punkte

    • TINJA-Markierung, um zu markieren, wo die Polyglots platziert werden sollen.
    • Unterstützung für Multipart-Bodies und JSON.
    • Optional: Blind-SSTI-Payloads (z. B. Sleep-Payloads).
    • Rückmeldung, ob CSTI oder SSTI erkannt wurde.
    • Die Konsole des Headless-Browsers auf Template-Engine-Fehlermeldungen überprüfen (siehe https://github.com/go-rod/rod/issues/330).
    • Fehlererkennung verbessern, wenn die Eingabe nicht reflektiert wird

    Hintergrundinformationen

    Ein Blogbeitrag mit weiteren Informationen zu Template-Injection und TInjA – der Template-INJection-Analysator ist hier zu finden:

    Template Injection Vulnerabilities – Understand, Detect, Identify

    TInjA wurde im Rahmen einer Masterarbeit von Maximilian Hildebrand entwickelt. Die Ergebnisse der Masterarbeit sind hier öffentlich verfügbar:

    • Template Injection Table
    • Template Injection Playground
    • TInjA – der Template-INJection-Analysator
    • Masterarbeit (PDF)

    Lizenz

    TInjA – der Template-INJection-Analysator wurde von Hackmanit und Maximilian Hildebrand im Rahmen seiner Masterarbeit entwickelt. TInjA – der Template-INJection-Analysator ist unter der Apache License, Version 2.0 lizenziert.

    Tool herunterladen