Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
TInjA — TInjA — это CLI-инструмент для тестирования веб-страниц на уязвимости внедрения шаблонов и поддерживает 44 наиболее актуальных шаблонизатора для восьми различных языков программирования. | Kitploit
Инструменты/GitHubGitHub/hackmanit/tinja
Сканеры уязвимостейДинамический анализ кода (DAST)Эксплуатация веб-приложенийВеб-безопасностьФаззингТестирование на Проникновение
GitHubhackmanit/tinja

TInjA

TInjA — это CLI-инструмент для тестирования веб-страниц на уязвимости внедрения шаблонов и поддерживает 44 наиболее актуальных шаблонизатора для восьми различных языков программирования.

Репозиторий
423383 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Release Go Report Card GitHub go.mod Go version License

TInjA – анализатор внедрения шаблонов

TInjA — это инструмент командной строки для проверки веб-страниц на уязвимости внедрения шаблонов.

Он поддерживает 44 наиболее актуальных шаблонизатора (по состоянию на сентябрь 2023 года) для восьми различных языков программирования.

TInjA был разработан Hackmanit и Maximilian Hildebrand.

  • Возможности
  • Поддерживаемые шаблонизаторы
  • Установка
    • Вариант 1: Готовый бинарный файл
    • Вариант 2: Установка с помощью Go
  • Использование
    • Указание заголовков, куки и тела POST-запроса
    • Сканирование CSTI в дополнение к SSTI
    • Генерация отчета в формате JSONL
    • Использование прокси
    • Установка ограничения скорости
  • Устранение неполадок
  • Планы
  • Дополнительная информация
  • Лицензия

Возможности

  • Автоматическое обнаружение возможностей внедрения шаблонов и идентификация используемого шаблонизатора.
    • Поддерживается 44 наиболее актуальных шаблонизатора (см. Поддерживаемые шаблонизаторы).
    • Обнаруживаются как уязвимости SSTI, так и CSTI.
      • SSTI = серверное внедрение шаблонов (server-side template injection)
      • CSTI = клиентское внедрение шаблонов (client-side template injection)
  • Эффективное сканирование благодаря использованию полиглотов:
    • В среднем отправляется всего пять полиглотов на веб-страницу до обнаружения возможности внедрения шаблонов и идентификации шаблонизатора.
  • Передача просканированных URL-адресов в TInjA в формате JSONL.
  • Передача сырого HTTP-запроса в TInjA.
  • Установка пользовательских заголовков, куки, параметров POST и параметров запроса.
  • Направление трафика через прокси (например, Burp Suite).
  • Настройка ограничения скорости.

Поддерживаемые шаблонизаторы

.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

Установка

Вариант 1: Готовый бинарный файл

Готовые бинарные файлы TInjA доступны на странице релизов.

Вариант 2: Установка с помощью Go

Требования: go1.21 или выше

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

Использование

  • Сканирование одного URL: tinja url -u "http://example.com/"
  • Сканирование нескольких URL: tinja url -u "http://example.com/" -u "http://example.com/path2"
  • Сканирование URL из файла: tinja url -u "file:/path/to/file"
  • Сканирование одного URL путём передачи файла с сырым HTTP-запросом: tinja raw -R "/path/to/file"
  • Сканирование URL с дополнительной информацией из JSONL-файла: tinja jsonl -j "/path/to/file"
    • Каждая строка JSONL-файла должна содержать один JSON-объект. Весь JSON-объект должен находиться в одной строке. Каждый объект должен иметь следующую структуру (дополнительные переносы строк и отступы приведены только для наглядности):
root@kitploit:~
{
"request":{
    "method":"POST",
    "endpoint":"http://example.com/path",
    "body":"name=Kirlia",
    "headers":{
        "Content-Type":"application/x-www-form-urlencoded"
    }
}

Указание заголовков, куки и тела POST-запроса

  • --header/-H указывает заголовки, которые будут добавлены к запросу.
    • Пример: tinja url -u "http://example.com/" -H "Authentication: Bearer ey..."
  • --cookie/-c указывает куки, которые будут добавлены к запросу.
    • Пример: tinja url -u "http://example.com/" -c "PHPSESSID=ABC123..."
  • --data/-d указывает тело POST-запроса, которое будет добавлено к запросу.
    • Пример: tinja url -u "http://example.com/" -d "username=Kirlia&password=notguessable"

Сканирование CSTI в дополнение к SSTI

  • --csti включает сканирование на CSTI.
    • Пример: tinja url -u "http://example.com/" --csti

По умолчанию TInjA сканирует только SSTI. Для сканирования CSTI используется безголовый браузер, что может увеличить использование оперативной памяти и процессора.

Генерация отчета в формате JSONL

  • --reportpath включает генерацию отчета в формате JSONL. Отчет будет обновляться после каждого просканированного URL и сохраняться по указанному пути.
    • Пример: tinja url -u "http://example.com/" --reportpath "/home/user/Documents"

Использование прокси

  • --proxyurl указывает URL и порт прокси для сканирования.
    • Пример: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080"
  • --proxycertpath указывает путь к сертификату CA прокси в формате PEM (необходимо при сканировании HTTPS URL).
    • Пример: tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080" --proxycertpath "/home/user/Documents/cacert.pem"

Для сканирования HTTPS URL через прокси требуется сертификат CA прокси в формате PEM. Сертификаты CA Burp Suite предоставляются в формате DER, например. Чтобы преобразовать их, можно использовать следующую команду:

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

Установка ограничения скорости

  • --ratelimit/-r задаёт максимальное количество запросов в секунду. По умолчанию количество не ограничено.
    • Пример: tinja url -u "http://example.com/" --ratelimit 10

Устранение неполадок

  • [ERR] Не удалось подключиться к URL: удалённая ошибка: tls: user canceled
    • При использовании прокси и подключении через HTTPS необходимо указать сертификат CA прокси (.pem) с помощью --proxycertpath (см. Использование прокси).
  • [ERR] Ошибка чтения ответа от целевого сервера через прокси: некорректный HTTP-ответ "HTTP/1.1"
    • Отключите Default to HTTP/2 if the server supports it в настройках Burp Suite (Network > HTTP).

Планы

  • Маркер TINJA для указания места вставки полиглотов.
  • Поддержка multipart-тел и JSON.
  • Опционально: слепые SSTI-пейлоады (например, sleep-пейлоады).
  • Обратная связь о том, был ли обнаружен CSTI или SSTI.
  • Проверка консоли безголового браузера на наличие сообщений об ошибках шаблонизатора (см. https://github.com/go-rod/rod/issues/330).
  • Улучшение обнаружения ошибок, когда ввод не отражается.

Дополнительная информация

Статья в блоге, содержащая дополнительную информацию о внедрении шаблонов и TInjA – анализаторе внедрения шаблонов, доступна по адресу:

Уязвимости внедрения шаблонов – Понимание, обнаружение, идентификация

TInjA был разработан в рамках магистерской диссертации Maximilian Hildebrand. Результаты магистерской диссертации находятся в открытом доступе:

  • Таблица внедрения шаблонов
  • Песочница для внедрения шаблонов
  • TInjA – анализатор внедрения шаблонов
  • Магистерская диссертация (PDF)

Лицензия

TInjA – анализатор внедрения шаблонов был разработан Hackmanit и Maximilian Hildebrand в рамках его магистерской диссертации. TInjA – анализатор внедрения шаблонов распространяется под лицензией Apache License, Version 2.0.

Скачать инструмент