Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
TInjA — TInjA es una herramienta CLI para probar páginas web en busca de vulnerabilidades de inyección de plantillas y es compatible con 44 de los motores de plantillas más relevantes para ocho lenguajes de programación diferentes. | Kitploit
Herramientas/GitHubGitHub/hackmanit/tinja
Escáneres de VulnerabilidadesAnálisis Dinámico de Código (DAST)Explotación de Aplicaciones WebSeguridad WebFuzzingPruebas de Penetración
GitHubhackmanit/tinja

TInjA

TInjA es una herramienta CLI para probar páginas web en busca de vulnerabilidades de inyección de plantillas y es compatible con 44 de los motores de plantillas más relevantes para ocho lenguajes de programación diferentes.

Ver Repositorio
423387hace 4 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Release Go Report Card GitHub go.mod Go version License

TInjA – el Analizador de Inyección de Plantillas

TInjA es una herramienta CLI para probar páginas web en busca de vulnerabilidades de inyección de plantillas.

Soporta 44 de los motores de plantillas más relevantes (a partir de septiembre de 2023) para ocho lenguajes de programación diferentes.

TInjA fue desarrollado por Hackmanit y Maximilian Hildebrand.

  • Características
  • Motores de Plantillas Soportados
  • Instalación
    • Opción 1: Binario Precompilado
    • Opción 2: Instalar Usando Go
  • Uso
  • Especificar Cabeceras, Cookies y Cuerpo POST
  • Escanear CSTI Además de SSTI
  • Generar un Informe JSONL
  • Usar un Proxy
  • Establecer un Límite de Peticiones
  • Solución de Problemas
  • Pendientes
  • Información de Antecedentes
  • Licencia
  • Características

    • Detección automática de posibilidades de inyección de plantillas e identificación del motor de plantillas en uso.
      • 44 de los motores de plantillas más relevantes soportados (ver Motores de Plantillas Soportados).
      • Se detectan vulnerabilidades tanto SSTI como CSTI.
        • SSTI = inyección de plantillas del lado del servidor
        • CSTI = inyección de plantillas del lado del cliente
    • Escaneo eficiente gracias al uso de políglotas:
      • En promedio, solo se envían cinco políglotas a la página web hasta que se detecta la posibilidad de inyección de plantillas y se identifica el motor.
    • Pasar URLs rastreadas a TInjA en formato JSONL.
    • Pasar una petición HTTP cruda a TInjA.
    • Establecer cabeceras, cookies, parámetros POST y parámetros de consulta personalizados.
    • Enrutar el tráfico a través de un proxy (por ejemplo, Burp Suite).
    • Configurar limitación de velocidad.

    Motores de Plantillas Soportados

    .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

    Instalación

    Opción 1: Binario Precompilado

    Los binarios precompilados de TInjA están disponibles en la página de lanzamientos.

    Opción 2: Instalar Usando Go

    Requisitos: go1.21 o superior

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

    Uso

    • Escanear una sola URL: tinja url -u "http://example.com/"
    • Escanear múltiples URLs: tinja url -u "http://example.com/" -u "http://example.com/path2"
    • Escanear URLs proporcionadas en un archivo: tinja url -u "file:/path/to/file"
    • Escanear una sola URL pasando un archivo con una petición HTTP cruda: tinja raw -R "/path/to/file"
    • Escanear URLs con información adicional proporcionada en un archivo JSONL: tinja jsonl -j "/path/to/file"
      • Cada línea del archivo JSONL debe contener un único objeto JSON. Todo el objeto JSON debe estar en una sola línea. Cada objeto debe tener la siguiente estructura (los saltos de línea y la sangría adicionales son solo para fines de visualización):
    root@kitploit:~
    {
    "request":{
        "method":"POST",
        "endpoint":"http://example.com/path",
        "body":"name=Kirlia",
        "headers":{
            "Content-Type":"application/x-www-form-urlencoded"
        }
    }
    

    Especificar Cabeceras, Cookies y Cuerpo POST

    • --header/-H especifica las cabeceras que se añadirán a la petición.
      • Ejemplo: tinja url -u "http://example.com/" -H "Authentication: Bearer ey..."
    • --cookie/-c especifica las cookies que se añadirán a la petición.
      • Ejemplo: tinja url -u "http://example.com/" -c "PHPSESSID=ABC123..."
    • --data/-d especifica el cuerpo POST que se añadirá a la petición.
      • Ejemplo: tinja url -u "http://example.com/" -d "username=Kirlia&password=notguessable"

    Escanear CSTI Además de SSTI

    • --csti habilita el escaneo de CSTI.
      • Ejemplo: tinja url -u "http://example.com/" --csti

    Por defecto, TInjA solo escanea SSTI. Se utiliza un navegador sin cabeza para escanear CSTI, lo que puede aumentar el uso de RAM y CPU.

    Generar un Informe JSONL

    • --reportpath habilita la generación de un informe en formato JSONL. El informe se actualizará después de cada URL escaneada y se almacenará en la ruta proporcionada.
      • Ejemplo: tinja url -u "http://example.com/" --reportpath "/home/user/Documents"

    Usar un Proxy

    • --proxyurl especifica la URL y el puerto de un proxy que se usará para el escaneo.
      • Ejemplo: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080"
    • --proxycertpath especifica el certificado CA del proxy en formato PEM (necesario al escanear URLs HTTPS).
      • Ejemplo: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080" --proxycertpath "/home/user/Documents/cacert.pem"

    Para escanear URLs HTTPS usando un proxy, se necesita un certificado CA del proxy en formato PEM. Los certificados CA de Burp Suite se proporcionan en formato DER, por ejemplo. Para convertirlos, se puede usar el siguiente comando:

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

    Establecer un Límite de Peticiones

    • --ratelimit/-r especifica el número máximo de peticiones por segundo permitidas. Por defecto, este número es ilimitado.
      • Ejemplo: tinja url -u "http://example.com/" --ratelimit 10

    Solución de Problemas

    • [ERR] Couldn't connect to URL: remote error: tls: user canceled
      • Al usar un proxy y conectarse vía HTTPS, el certificado CA del proxy (.pem) debe especificarse con --proxycertpath (ver Usar un Proxy).
    • [ERR] Error reading response from target server via proxy: malformed HTTP response "HTTP/1.1"
      • Deshabilitar Default to HTTP/2 if the server supports it en la configuración de Burp Suite (Network > HTTP).

    Pendientes

    • Marcador TINJA para indicar dónde deben colocarse los políglotas.
    • Soporte para cuerpos multipart y JSON.
    • Opcional: Payloads SSTI ciegos (ej., payloads de sleep).
    • Retroalimentación sobre si se detectó CSTI o SSTI.
    • Verificar la consola del navegador sin cabeza para mensajes de error del motor de plantillas (ver https://github.com/go-rod/rod/issues/330).
    • Mejorar la detección de errores cuando la entrada no se refleja.

    Información de Antecedentes

    Una publicación de blog que proporciona más información sobre la inyección de plantillas y TInjA – el Analizador de Inyección de Plantillas se puede encontrar aquí:

    Template Injection Vulnerabilities – Understand, Detect, Identify

    TInjA fue desarrollado como parte de una tesis de maestría por Maximilian Hildebrand. Puede encontrar los resultados de la tesis de maestría disponibles públicamente aquí:

    • Template Injection Table
    • Template Injection Playground
    • TInjA – el Analizador de Inyección de Plantillas
    • Tesis de Maestría (PDF)

    Licencia

    TInjA – el Analizador de Inyección de Plantillas fue desarrollado por Hackmanit y Maximilian Hildebrand como parte de su tesis de maestría. TInjA – el Analizador de Inyección de Plantillas está licenciado bajo la Apache License, Version 2.0.

    Descargar herramienta