Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
TInjA — TInjA è uno strumento CLI per testare le pagine web per vulnerabilità di injection nei template e supporta 44 dei motori di template più rilevanti per otto diversi linguaggi di programmazione. | Kitploit
Strumenti/GitHubGitHub/hackmanit/tinja
Scanner di VulnerabilitàAnalisi Dinamica del Codice (DAST)Sfruttamento di Applicazioni WebSicurezza WebFuzzingPenetration Testing
GitHubhackmanit/tinja

TInjA

TInjA è uno strumento CLI per testare le pagine web per vulnerabilità di injection nei template e supporta 44 dei motori di template più rilevanti per otto diversi linguaggi di programmazione.

Vedi Repository
423383 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Release Go Report Card GitHub go.mod Go version License

TInjA – l'Analizzatore di INJezione di Template

TInjA è uno strumento CLI per testare le pagine web per vulnerabilità di iniezione di template.

Supporta 44 dei motori di template più rilevanti (a partire da settembre 2023) per otto diversi linguaggi di programmazione.

TInjA è stato sviluppato da Hackmanit e Maximilian Hildebrand.

  • Caratteristiche
  • Motori di Template Supportati
  • Installazione
    • Opzione 1: Binario Precompilato
    • Opzione 2: Installazione tramite Go
  • Utilizzo
    • Specificare Intestazioni, Cookie e Corpo POST
    • Scansione CSTI in Aggiunta a SSTI
    • Generare un Report JSONL
    • Utilizzare un Proxy
    • Impostare un Limite di Richieste
  • Risoluzione dei Problemi
  • TODO
  • Informazioni di Base
  • Licenza

Caratteristiche

  • Rilevamento automatico delle possibilità di iniezione di template e identificazione del motore di template in uso.
    • 44 dei motori di template più rilevanti supportati (vedi Motori di Template Supportati).
    • Vengono rilevate vulnerabilità sia SSTI che CSTI.
      • SSTI = iniezione di template lato server (server-side template injection)
      • CSTI = iniezione di template lato client (client-side template injection)
  • Scansione efficiente grazie all'uso di poliglotti:
    • In media vengono inviati solo cinque poliglotti alla pagina web finché non viene rilevata la possibilità di iniezione di template e identificato il motore di template.
  • Passare URL crawlate a TInjA in formato JSONL.
  • Passare una richiesta HTTP grezza a TInjA.
  • Impostare intestazioni personalizzate, cookie, parametri POST e parametri di query.
  • Instradare il traffico attraverso un proxy (es. Burp Suite).
  • Configurare il limite di richieste (ratelimiting).

Motori di Template Supportati

.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

Installazione

Opzione 1: Binario Precompilato

I binari precompilati di TInjA sono forniti nella pagina delle release.

Opzione 2: Installazione tramite Go

Requisiti: go1.21 o superiore

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

Utilizzo

  • Scansionare un singolo URL: tinja url -u "http://example.com/"
  • Scansionare più URL: tinja url -u "http://example.com/" -u "http://example.com/path2"
  • Scansionare URL forniti in un file: tinja url -u "file:/path/to/file"
  • Scansionare un singolo URL passando un file con una richiesta HTTP grezza: tinja raw -R "/path/to/file"
  • Scansionare URL con informazioni aggiuntive fornite in un file JSONL: tinja jsonl -j "/path/to/file"
    • Ogni riga del file JSONL deve contenere un singolo oggetto JSON. L'intero oggetto JSON deve essere in una riga. Ogni oggetto deve avere la seguente struttura (interruzioni di riga e indentazione extra sono solo a scopo di visualizzazione):
root@kitploit:~
{
"request":{
    "method":"POST",
    "endpoint":"http://example.com/path",
    "body":"name=Kirlia",
    "headers":{
        "Content-Type":"application/x-www-form-urlencoded"
    }
}

Specificare Intestazioni, Cookie e Corpo POST

  • --header/-H specifica le intestazioni da aggiungere alla richiesta.
    • Esempio: tinja url -u "http://example.com/" -H "Authentication: Bearer ey..."
  • --cookie/-c specifica i cookie da aggiungere alla richiesta.
    • Esempio: tinja url -u "http://example.com/" -c "PHPSESSID=ABC123..."
  • --data/-d specifica il corpo POST da aggiungere alla richiesta.
    • Esempio: tinja url -u "http://example.com/" -d "username=Kirlia&password=nonindovinabile"

Scansione CSTI in Aggiunta a SSTI

  • --csti abilita la scansione per CSTI.
    • Esempio: tinja url -u "http://example.com/" --csti

Per impostazione predefinita TInjA esegue la scansione solo per SSTI. Per la scansione CSTI viene utilizzato un browser headless, il che può aumentare l'uso di RAM e CPU.

Generare un Report JSONL

  • --reportpath abilita la generazione di un report in formato JSONL. Il report verrà aggiornato dopo ogni URL scansionato e verrà archiviato nel percorso fornito.
    • Esempio: tinja url -u "http://example.com/" --reportpath "/home/user/Documents"

Utilizzare un Proxy

  • --proxyurl specifica l'URL e la porta di un proxy da utilizzare per la scansione.
    • Esempio: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080"
  • --proxycertpath specifica il certificato CA del proxy in formato PEM (necessario quando si scansionano URL HTTPS).
    • Esempio: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080" --proxycertpath "/home/user/Documents/cacert.pem"

Per scansionare URL HTTPS utilizzando un proxy è necessario un certificato CA del proxy in formato PEM. I certificati CA di Burp Suite sono forniti in formato DER, ad esempio. Per convertirli, è possibile utilizzare il seguente comando:

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

Impostare un Limite di Richieste

  • --ratelimit/-r specifica il numero massimo di richieste al secondo consentite. Per impostazione predefinita, questo numero è illimitato.
    • Esempio: tinja url -u "http://example.com/" --ratelimit 10

Risoluzione dei Problemi

  • [ERR] Couldn't connect to URL: remote error: tls: user canceled
    • Quando si utilizza un proxy e ci si connette tramite HTTPS, è necessario specificare il certificato CA del proxy (.pem) con --proxycertpath (vedi Utilizzare un Proxy).
  • [ERR] Error reading response from target server via proxy: malformed HTTP response "HTTP/1.1"
    • Disabilitare Default to HTTP/2 if the server supports it nelle impostazioni di Burp Suite (Network > HTTP).

TODO

  • Marcatore TINJA per indicare dove posizionare i poliglotti.
  • Supporto per corpi multipart e JSON.
  • Opzionale: Payload SSTI ciechi (es. payload di sleep).
  • Feedback su se è stato rilevato CSTI o SSTI.
  • Controllare la console del browser headless per messaggi di errore del motore di template (vedi https://github.com/go-rod/rod/issues/330).
  • Migliorare il rilevamento degli errori quando l'input non viene riflesso.

Informazioni di Base

Un articolo di blog che fornisce maggiori informazioni sull'iniezione di template e su TInjA – the Template INJection Analyzer può essere trovato qui:

Template Injection Vulnerabilities – Understand, Detect, Identify

TInjA è stato sviluppato come parte di una tesi di laurea magistrale da Maximilian Hildebrand. I risultati della tesi di laurea magistrale sono disponibili pubblicamente qui:

  • Template Injection Table
  • Template Injection Playground
  • TInjA – the Template INJection Analyzer
  • Tesi di Laurea Magistrale (PDF)

Licenza

TInjA – the Template INJection Analyzer è stato sviluppato da Hackmanit e Maximilian Hildebrand come parte della sua tesi di laurea magistrale. TInjA – the Template INJection Analyzer è concesso in licenza secondo i termini della Apache License, Version 2.0.

Scarica lo strumento