В очередной раз попав в эту тему, совершенно не понял, о чём она.
То ли я что-то не понимаю, то ли другие... Надо разобраться.
Цитата:
Но что если администратор хостинга решит установить ее значение в единицу? Будет происходить двойное экранирование спецсимволов! Поэтому, функцию addslashes необходимо применять только в том случае, когда magic_quotes_gpc = 0.
Чем не нравится двойное экранирование?
Допустим есть код:
PHP код:
$name = addslashes($_GET['name']);
$query = "SELECT * FROM users WHERE username = '$name'";
Подаём на вход кавычку.
При magic_quotes_gpc = Off:
Код:
SELECT * FROM users WHERE username = '\''
Всё хорошо
При magic_quotes_gpc = On:
Код:
SELECT * FROM users WHERE username = '\\\''
Опять всё хорошо - за пределы кавычек выйти не получается.
Где уязвимость?!
Цитата:
Программа: TutorialCMS 1.02 (возможно и более ранние версии)
Насчёт примера вообще непонятно, к чему он здесь - там нет никакой фильтрации, понятно, что без слеширования код уязвим. Казалось бы, тема о безопасном использовании функций слеширования независимо от конфигурации php.
P.S. Чтоб убедить меня в осмысленности этой темы, напишите, пожалуйста, код, обрабатывающий входные параметры функцией addslashes() и уязвимый при magic_quotes_gpc = On.
Присоединяюсь,к Root-access ... тоже не нашел в этой статье уязвимости ... если таковая действительно есть, то прошу более компетентных людей показать уязвимый код и эксплуатацию уязвимости. Заранее благодарен.
А если представить в другой кодировке, например %27 или закриптовать и раскриптовать сразу? или эти функции не будут выполнятся пока не выйдят за ковычку? То есть ситуация на 100% безвыходная?
Последний раз редактировалось GivioN; 03.04.2010 в 00:52..