[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Нужен ли bash



On 2008.10.01 at 17:34:46 +0300, Aleksey Cheusov wrote:

>  >> > Если речь идет о безопасности, то начинать надо с выкидывания sh.
>  >> Вызов внешней утилы не является дырой в безопастности.
>  >> По крайней мере речь _сейчас_ не об этом, контект не тот.
> 
> > Дырой в безопасности является строковая подстановка с неявным
> > репарсингом после неё. Чуть автор скрипта на кавычках поэкономил, и
> > привет - arbitrary command execution.
> 
> Ах вот оно в чем дело. Тут согласен. Но ведь это практически только
> тогда, когда eval и прочие ssh/rsh. И эти проблемы есть практически в
> любом скриптовом языке. Ни в tcl ни в perl разыменование переменной не
> смотрит, пуста строка, или нет. И проблема, как следствие та же.

Вопрос не в том, пуста строка или нет, а в том, будет ли она передана
в выполняемую внешнюю команду как один параметр, или как произвольный
набор таковых. В Tcl, если не предпринимать специальных мер, 
будет как один. В Perl, если использовать списковую форму system/exec -
как один. В shell - да хоть как двадцать восемь отдельных шелловских
команд. Главное понапихать во вводимое значение побольше точек с запятой
и бэктиков.



Reply to: