Перейти к содержимому

Поиск по платформе

Все пути
Путь golang Intermediate 5 модулей 20 шагов (11 теор · 3 лаб · 6 квиз) ~3 ч 28 мин

Go SSTI Security: от недоверенного шаблона до безопасного рендеринга

Разбираемся, как недоверенный текст становится кодом шаблона, чем SSTI отличается от XSS, какие данные и методы реально достижимы и как устранить инъекцию статическим template source. Практика охватывает custom greeting, stored SSTI, богатый map-контекст и direct email render с HTTP preview.

01

Модуль 1: граница между template source и данными

Различаем SSTI и XSS, а также роли Parse, Execute, text/template и html/template.

0/3~13 мин
02

Модуль 2: Basic SSTI

Находим недоверенный data-flow в Parse и устраняем его статическим шаблоном с данными через Execute.

0/4~43 мин
  • 1
    1. Опасный парсинг пользовательских шаблонов: почему Parse не проверяет источник
    ~5 мин
  • EXP FIX
    2. Практика — SSTI в персональном приветствии
    easy ~30 мин
  • 3
    3. Защита — статические шаблоны и данные через Execute
    ~5 мин
  • 4
    4. Тест: Basic SSTI
    ~3 мин
03

Модуль 3: Advanced SSTI — достижимый контекст и методы

Изучаем точный контракт вызываемых методов и ограничение capability graph; практика проверяет stored SSTI и чтение богатого map-контекста.

0/4~58 мин
  • 1
    1. Вызовы методов — прямой доступ к логике Go
    ~5 мин
  • EXP FIX
    2. Практика — stored SSTI и богатый map-контекст
    medium ~45 мин
  • 3
    3. Защита — минимальный контекст и безопасные FuncMap
    ~5 мин
  • 4
    4. Тест: Advanced SSTI — достижимый контекст и методы
    ~3 мин
04

Модуль 4: SSTI в шаблонах сообщений

Разбираем прямой POST source, немедленный Parse/Execute, сохранение rendered emailBody, HTTP preview и отдельный рендеринг MIME-частей.

0/4~1 ч 13 мин
05

Модуль 5: Итоговый обзор

Собираем модель угроз, проверяем data-flow к Parse и запускаем регрессионный HTTP probe в CI.

0/5~21 мин финальный