Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
TInjA — TInjA est un outil CLI pour tester les pages web afin de détecter les vulnérabilités d'injection de templates et prend en charge 44 des moteurs de templates les plus pertinents pour huit langages de programmation différents. | Kitploit
Outils/GitHubGitHub/hackmanit/tinja
Scanners de VulnérabilitésAnalyse Dynamique de Code (DAST)Exploitation d'Applications WebSécurité WebFuzzingTests d'Intrusion
GitHubhackmanit/tinja

TInjA

TInjA est un outil CLI pour tester les pages web afin de détecter les vulnérabilités d'injection de templates et prend en charge 44 des moteurs de templates les plus pertinents pour huit langages de programmation différents.

Voir le dépôt
42338il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Release Go Report Card GitHub go.mod Go version License

TInjA – l'analyseur d'injection de templates

TInjA est un outil en ligne de commande pour tester les pages Web à la recherche de vulnérabilités d'injection de template.

Il prend en charge 44 des moteurs de template les plus pertinents (en septembre 2023) pour huit langages de programmation différents.

TInjA a été développé par Hackmanit et Maximilian Hildebrand.

  • Fonctionnalités
  • Moteurs de template pris en charge
  • Installation
    • Option 1 : Binaire précompilé
    • Option 2 : Installation via Go
  • Utilisation
  • Spécifier les en-têtes, cookies et corps POST
  • Analyser également les CSTI en plus des SSTI
  • Générer un rapport JSONL
  • Utiliser un proxy
  • Définir une limite de débit
  • Dépannage
  • À faire
  • Informations complémentaires
  • Licence
  • Fonctionnalités

    • Détection automatique des possibilités d'injection de template et identification du moteur de template utilisé.
      • 44 des moteurs de template les plus pertinents pris en charge (voir Moteurs de template pris en charge).
      • Les vulnérabilités SSTI et CSTI sont détectées.
        • SSTI = injection de template côté serveur
        • CSTI = injection de template côté client
    • Analyse efficace grâce à l'utilisation de polyglottes :
      • En moyenne, seuls cinq polyglottes sont envoyés à la page Web jusqu'à ce que la possibilité d'injection de template soit détectée et le moteur identifié.
    • Transmission d'URLs analysées à TInjA au format JSONL.
    • Transmission d'une requête HTTP brute à TInjA.
    • Définition d'en-têtes, cookies, paramètres POST et paramètres de requête personnalisés.
    • Routage du trafic via un proxy (par ex., Burp Suite).
    • Configuration de la limitation de débit.

    Moteurs de template pris en charge

    .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 : Binaire précompilé

    Les binaires précompilés de TInjA sont fournis sur la page des versions.

    Option 2 : Installation via Go

    Prérequis : go1.21 ou supérieur

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

    Utilisation

    • Analyser une seule URL : tinja url -u "http://example.com/"
    • Analyser plusieurs URLs : tinja url -u "http://example.com/" -u "http://example.com/path2"
    • Analyser des URLs fournies dans un fichier : tinja url -u "file:/path/to/file"
    • Analyser une seule URL en passant un fichier avec une requête HTTP brute : tinja raw -R "/path/to/file"
    • Analyser des URLs avec des informations supplémentaires fournies dans un fichier JSONL : tinja jsonl -j "/path/to/file"
      • Chaque ligne du fichier JSONL doit contenir un seul objet JSON. L'objet JSON entier doit tenir sur une seule ligne. Chaque objet doit avoir la structure suivante (les sauts de ligne et l'indentation supplémentaires sont uniquement à des fins d'affichage) :
    root@kitploit:~
    {
    "request":{
        "method":"POST",
        "endpoint":"http://example.com/path",
        "body":"name=Kirlia",
        "headers":{
            "Content-Type":"application/x-www-form-urlencoded"
        }
    }
    

    Spécifier les en-têtes, cookies et corps POST

    • --header/-H spécifie les en-têtes à ajouter à la requête.
      • Exemple : tinja url -u "http://example.com/" -H "Authentication: Bearer ey..."
    • --cookie/-c spécifie les cookies à ajouter à la requête.
      • Exemple : tinja url -u "http://example.com/" -c "PHPSESSID=ABC123..."
    • --data/-d spécifie le corps POST à ajouter à la requête.
      • Exemple : tinja url -u "http://example.com/" -d "username=Kirlia&password=notguessable"

    Analyser également les CSTI en plus des SSTI

    • --csti active l'analyse des CSTI.
      • Exemple : tinja url -u "http://example.com/" --csti

    Par défaut, TInjA ne recherche que les SSTI. Un navigateur sans tête est utilisé pour analyser les CSTI, ce qui peut augmenter l'utilisation de la mémoire vive et du processeur.

    Générer un rapport JSONL

    • --reportpath permet de générer un rapport au format JSONL. Le rapport sera mis à jour après chaque URL analysée et sera stocké au chemin fourni.
      • Exemple : tinja url -u "http://example.com/" --reportpath "/home/user/Documents"

    Utiliser un proxy

    • --proxyurl spécifie l'URL et le port d'un proxy à utiliser pour l'analyse.
      • Exemple : tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080"
    • --proxycertpath spécifie le certificat CA du proxy au format PEM (nécessaire lors de l'analyse d'URLs HTTPS).
      • Exemple : tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080" --proxycertpath "/home/user/Documents/cacert.pem"

    Pour analyser des URLs HTTPS via un proxy, un certificat CA du proxy au format PEM est nécessaire. Les certificats CA de Burp Suite sont fournis au format DER, par exemple. Pour les convertir, la commande suivante peut être utilisée :

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

    Définir une limite de débit

    • --ratelimit/-r spécifie le nombre maximum de requêtes par seconde autorisé. Par défaut, ce nombre est illimité.
      • Exemple : tinja url -u "http://example.com/" --ratelimit 10

    Dépannage

    • [ERR] Couldn't connect to URL: remote error: tls: user canceled
      • Lors de l'utilisation d'un proxy et d'une connexion HTTPS, le certificat CA du proxy (.pem) doit être spécifié avec --proxycertpath (voir Utiliser un proxy).
    • [ERR] Error reading response from target server via proxy: malformed HTTP response "HTTP/1.1"
      • Désactivez Default to HTTP/2 if the server supports it dans les paramètres de Burp Suite (Network > HTTP).

    À faire

    • Marqueur TINJA pour indiquer où placer les polyglottes.
    • Prise en charge des corps multipart et JSON.
    • Optionnel : charges utiles SSTI aveugles (par ex., charges utiles de temporisation).
    • Retour d'information indiquant si une CSTI ou une SSTI a été détectée.
    • Vérification de la console du navigateur sans tête pour les messages d'erreur du moteur de template (voir https://github.com/go-rod/rod/issues/330).
    • Amélioration de la détection des erreurs lorsque l'entrée n'est pas reflétée.

    Informations complémentaires

    Un article de blog fournissant plus d'informations sur l'injection de template et TInjA – l'analyseur d'injection de templates est disponible ici :

    Template Injection Vulnerabilities – Understand, Detect, Identify

    TInjA a été développé dans le cadre d'un mémoire de master par Maximilian Hildebrand. Vous pouvez trouver les résultats du mémoire de master disponibles publiquement ici :

    • Tableau d'injection de template
    • Terrain de jeu d'injection de template
    • TInjA – l'analyseur d'injection de templates
    • Mémoire de master (PDF)

    Licence

    TInjA – l'analyseur d'injection de templates a été développé par Hackmanit et Maximilian Hildebrand dans le cadre de son mémoire de master. TInjA – l'analyseur d'injection de templates est sous licence Apache License, Version 2.0.

    Télécharger l’outil