Re[2]: Из-за чего весь сыр-бор: про уязвимость Text4Shell
От: · Великобритания  
Дата: 01.11.22 15:38
Оценка: 150 (2)
Здравствуйте, Sinclair, Вы писали:

BE>>Подробнее: https://www.securitylab.ru/analytics/534471.php

S>Как и в прошлом случае, публикуется масса малоинтересных подробностей (вроде фрагментов стека), и обходятся главные вопросы:
S>1. Для чего вообще используется интерполятор строк?
Допустим в интернет-магазине продавцы могут задавать шаблон письма покупателям. "Здравствуйте, ${username}! Спасибо за покупку ${order}".

S>2. В каких сценариях может потребоваться применение небезопасных string-лукапов в интерполяции?

Ну например, какие-нибудь внутренние конфиги хочешь шаблонизировать в том числе и env значениями или даже кусочками скриптов.

S>3. Зачем кому-то в голову приходит скармливать в интерполятор пользовательский ввод?

Там где пользователи могут задавать какие-нибудь шаблоны чего-нибудь.

S>4. Как правильно пользоваться интерполяцией для сценариев, в которых нужна комбинация пунктов 1, 2 и 3?

Требовать задавать явно что и как может интерполироваться.

S>Если же нас интересует сохранение функциональности приложения, то надо понять, как же делать интерполяцию без риска исполнить произвольный код под привилегиями приложения или открыть иную дыру в неведомые измерения.

Проблема text4shell в том, что либа втихушку добавляла возможности интерполяции чего угодно, в том числе и кусков кода.
Программист ожидал, что будет работать только ${username}, а оказывается можно и запихать ${script:<code>}.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.