В ходе анализа PHP скриптов периодически сталкиваюсь с потанциально опасными, на мой взгляд, конструкциями.
Можно ли из них извлечь что-нибудь полезное?
1) Практически нефильтруемая подстановка паттерна в функцию preg_match. Что-то типа
Код:
preg_match($var, $content)
$var отправляется пользователем. Из фильтрации — только экрнанирование двойной кавычки, однако слеш \ не экранируется.
2) Подстановка пользовательских данных в вызов функции system:
Код:
system("wget -O ./somefilename.ext '".$var."'")
В $var фильтруются символы | и '