Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
4233826vor 5 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

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):
{
"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

Tool herunterladen