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

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

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

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

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

Категории

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

TInjA

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

Репозиторий
42338114 месяцев назадПроверено 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.

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