👩💻 Уязвимость, которая возникает, когда злоумышленник может внедрить вредоносный код в шаблон, который выполняется на сервере. Давайте рассмотрим пример, демонстрирующий уязвимый фрагмент кода с использованием Jinja:
output = template.render(name=request.args.get('name'))‼️ В этом уязвимом коде параметр имени из запроса пользователя напрямую передается в шаблон с помощью функции "рендеринга". Потенциально это может позволить злоумышленнику внедрить вредоносный код в параметр имени, что приведет к внедрению шаблона на стороне сервера.
👩💻 Payload {{плохой код}} вводится в параметр имени.
Пример payload'а:
https://codeby.ex/?user={{7*7}}Вывод:
49