
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.
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.
Vorgefertigte Binärdateien von TInjA werden auf der Releases-Seite bereitgestellt.
Voraussetzungen: go1.21 oder höher
go install -v github.com/Hackmanit/TInjA@latest
tinja url -u "http://example.com/"tinja url -u "http://example.com/" -u "http://example.com/path2"tinja url -u "file:/path/to/file"tinja raw -R "/path/to/file"tinja jsonl -j "/path/to/file"
{
"request":{
"method":"POST",
"endpoint":"http://example.com/path",
"body":"name=Kirlia",
"headers":{
"Content-Type":"application/x-www-form-urlencoded"
}
}
--header/-H gibt Header an, die zur Anfrage hinzugefügt werden sollen.
tinja url -u "http://example.com/" -H "Authentication: Bearer ey..."--cookie/-c gibt Cookies an, die zur Anfrage hinzugefügt werden sollen.
tinja url -u "http://example.com/" -c "PHPSESSID=ABC123..."--data/-d gibt den POST-Body an, der zur Anfrage hinzugefügt werden soll.
tinja url -u "http://example.com/" -d "username=Kirlia&password=notguessable"--csti aktiviert das Scannen nach CSTI.
tinja url -u "http://example.com/" --cstiStandardmäß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.
--reportpath aktiviert die Erstellung eines Berichts im JSONL-Format. Der Bericht wird nach jeder gescannten URL aktualisiert und unter dem angegebenen Pfad gespeichert.
tinja url -u "http://example.com/" --reportpath "/home/user/Documents"--proxyurl gibt die URL und den Port eines zu verwendenden Proxys an.
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).
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
--ratelimit/-r gibt die maximal erlaubte Anzahl von Anfragen pro Sekunde an. Standardmäßig ist diese Anzahl unbegrenzt.
tinja url -u "http://example.com/" --ratelimit 10[ERR] Couldn't connect to URL: remote error: tls: user canceled
--proxycertpath angegeben werden (siehe Einen Proxy verwenden).[ERR] Error reading response from target server via proxy: malformed HTTP response "HTTP/1.1"
Default to HTTP/2 if the server supports it in den Einstellungen von Burp Suite (Network > HTTP).TINJA-Markierung, um zu markieren, wo die Polyglots platziert werden sollen.Ein Blogbeitrag mit weiteren Informationen zu Template-Injection und TInjA – der Template-INJection-Analysator ist hier zu finden:
TInjA wurde im Rahmen einer Masterarbeit von Maximilian Hildebrand entwickelt. Die Ergebnisse der Masterarbeit sind hier öffentlich verfügbar:
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.