← к умной ленте

SSTI (Server-Side Template Injection): что это за уязвимость и как её выявлять

AI-редакция
2 источника · показать все· свернуть
собирается · 2обновлено 1 мес назад

Канал «Пентестинг & Security QA & SDET» опубликовал two-частный разбор уязвимости SSTIi — Server-Side Template Injection. Она возникает, когда пользовательский ввод попадает в серверный шаблон и обрабатывается не как текст, а как часть кода шаблонизатора, что в отдельных случаях может привести к выполнению произвольного кода на сервере.

Во втором посте разбирается ответ на предыдущую тестовую задачку: правильный вывод — приложение может быть уязвимо к SSTI, если оно необычно реагирует на пользовательский ввод, отличаясь от обычного вывода текста.

  • Шаблонизаторы используются для динамического формирования HTML-страниц: вывод имени пользователя, списков товаров, сообщений и уведомлений
  • Названы популярные шаблонизаторы: Jinja2i (Python), Twig (PHP), Freemarker (Java), Smarty, Velocity
  • Последствия SSTI: получение конфиденциальной информации, раскрытие внутренних данных приложения, обход ограничений, выполнение нежелательных действий на сервере, в отдельных случаях — произвольный код
  • Рекомендации по защите: не передавать пользовательский ввод как часть шаблона, использовать безопасные механизмы передачи данных, обновлять библиотеки и шаблонизаторы, разделять пользовательские данные и логику шаблонов
  • По данным источника, SSTI встречается значительно реже, чем SQL Injection или XSSi, но её влияние может быть серьёзнее
  • Первый тревожный сигнал для пентестера — необычная реакция приложения на ввод, отличающаяся от обычного вывода текста; это не доказательство SSTI, но повод для дальнейшей проверки
  • Совет: искать SSTI стоит в местах динамической генерации контента — приветствиях, профилях пользователей, шаблонах писем, страницах ошибок и отчётах

Обсуждение

0
В

Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖