Перевод: Server Side Template Injection - что-то необычное!
@Ent_TranslateIBКак дела, ребята! Меня зовут Сагар Саджеев, и это мой рассказ об одной из моих недавних находок SSTI (Server Side Template Injection).

Согласно Portswigger, Server-side template injection - это когда злоумышленник может использовать родной синтаксис шаблона для внедрения вредоносной полезной нагрузки в шаблон, которая затем выполняется на стороне сервера. Механизм шаблонов позволяет вам использовать статические файлы шаблонов в вашем приложении.
По сути, это способ внедрить что-то (полезную нагрузку) в шаблонизатор, который, в свою очередь, выполняется на стороне сервера. В некоторых случаях это может привести к RCE.
Как я нашел ошибку SSTI?
- На сайте target.com была простая страница регистрации/регистрации аккаунта.
- В поле "Name" введите {{7*7}}.
- Остальную часть страницы заполните соответствующим образом. Обратите внимание, что полезная нагрузка должна быть введена только в поле Name.
- Это обычное и предполагаемое поведение веб-приложений - поприветствовать нового пользователя письмом и попросить его подтвердить почту.
- Вот основной текст письма, тема которого выглядит так:
49, Добро пожаловать на target.com

Так как же я получил имя 49?
- Потому что полезная нагрузка {{7*7}} была выполнена шаблонизатором и передана на внутренний сервер.
- В большинстве случаев успешный SSTI может быть увеличен до RCE. Но мы не можем обобщить конкретную полезную нагрузку, поскольку каждая полезная нагрузка будет уникальна для данного случая.
- {{system('whoami')}} → Это одна из полезных нагрузок, которая может доказать RCE. Но вероятность того, что эта полезная нагрузка будет выполнена, довольно низка.
Вот еще несколько полезных нагрузок, которые вы можете попробовать:
- {{7*'7'}}
- #{ 5* 8 }
- ,@(5+5)
- Вы можете найти больше полезных нагрузок SSTI в Интернете. Но постарайтесь модифицировать и адаптировать эту полезную нагрузку самостоятельно. Это увеличит вероятность того, что она будет выполнена.
- Я сообщил об этом около месяца назад и до сих пор не получил никакого ответа от компании. Такой подход компаний очень утомителен для охотника за ошибками. Надеюсь, когда-нибудь они ответят на мое письмо :)
Надеюсь, сегодня вы узнали что-то новое. Я сделал еще три статьи о разных интересных ошибках. Они доступны в моем профиле на Medium. Пожалуйста, ознакомьтесь с ними тоже. (https://medium.com/@sagarsajeev)
Временная шкала
Отправлено : 03-07-2022
→ Нет ответа от компании, по состоянию на 05-08-2022 ←
Я время от времени делюсь советами о Bug Bounties и связанных с ними вещах на своих страницах в Twitter и LinkedIn. Так что следите за мной там.
- LinkedIn : https://www.linkedin.com/in/sagar-sajeev-663491208/
- Twitter : https://twitter.com/Sagar__Sajeev
Если у вас есть какие-либо вопросы, не стесняйтесь писать мне. Я буду более чем счастлив помочь.
Счастливого хакинга!
Оригинал статьи - здесь.
Поддержите автора хлопками на Medium.
Перевод статьи был выполнен проектом перевод энтузиаста:
- 📚 @Ent_TranslateIB - Телеграмм канал с тематикой информационной безопасности
- 🔥 @Ent_Translate - Инстаграм проекта