Как защититься от shell injection?

Здравствуйте!
Пользователь вводит некое ключевое слово, которое затем подставляется в grep
Какие символы нужно экранировать, чтобы нельзя было ввести чего-нибудь лишнего?
  • Вопрос задан
  • 2549 просмотров
Пригласить эксперта
Ответы на вопрос 1
mva
@mva
CEO, CTO, Lua/Gentoo/IPv6 Pioneer
%  echo '$SHELL:' $SHELL; read i; echo '12\ndw\n3e\n/bin/zsh\n> '|grep "${i}"
$SHELL: /bin/zsh
> $SHELL
%
% echo '$SHELL:' $SHELL; read i; echo '12\ndw\n3e\n/bin/zsh\n> '|grep "${i}"
$SHELL: /bin/zsh
> $(cat /etc/passwd)
%


Символы - не нужно. Нужно экранировать переменную, которая скармливается grep'у :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы