postoev 0 Опубликовано 22 августа, 2009 Жалоба Share Опубликовано 22 августа, 2009 Всем привет! В коде часто используется функция vam_db_prepare_input(). Код этой функции: function vam_db_prepare_input($string) { if (is_string($string)) { return trim(stripslashes($string)); } elseif (is_array($string)) { reset($string); while (list($key, $value) = each($string)) { $string[$key] = vam_db_prepare_input($value); } return $string; } else { return $string; } } В ней используется stripslashes() вместо addslashes(). Т.е. это потенциальная уязвимость, т.к. vam_db_prepare_input часто используется с параметрами $_POST[...] для создания запросов. Если в качестве пост передать знак ' , то будет ошибка. И вообще так можно сломать всю базу. Я прав? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 22 августа, 2009 Жалоба Share Опубликовано 22 августа, 2009 Думаю, что неправ. Покажите реальный пример, по-моему, уязвимости нет в этом коде никакой. Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 22 августа, 2009 Жалоба Share Опубликовано 22 августа, 2009 если посмотреть дальше то (смотрел по едит_акк.пхп) там в бд данные попадают в бд через ф-ю vam_db_perform в которой они обрабатываються перед вставкой ф-ей vam_db_input: function vam_db_input($string, $link = 'db_link') { global $$link; if (function_exists('mysql_real_escape_string')) { return mysql_real_escape_string($string, $$link); } elseif (function_exists('mysql_escape_string')) { return mysql_escape_string($string); } return addslashes($string);}[/code]она вродь и делает что нужно?=)хотя если ктот делает чтото свое не зная апи магазина может сделать его уязвимым ) тут над смотреть =) открыл первый попавшийся файл вродь все норм =) Ссылка на сообщение Поделиться на другие сайты
ABerezin 0 Опубликовано 23 августа, 2009 Жалоба Share Опубликовано 23 августа, 2009 Не прав. Функция vam_db_prepare_input не используется для формирования sql-запросов. mosquito прав - для экранирования данных в запросах используется функция vam_db_input или, в некоторых случаях, прямое преобразование типа данных, например (int). Ссылка на сообщение Поделиться на другие сайты
postoev 0 Опубликовано 24 августа, 2009 Автор Жалоба Share Опубликовано 24 августа, 2009 Большое спасибо! Ссылка на сообщение Поделиться на другие сайты
geval 3 Опубликовано 15 августа, 2011 Жалоба Share Опубликовано 15 августа, 2011 а есть какие-то базовые основные советы по безопасности, если обновляться тяжело? сейчас взломали два магазина 1.2 версии поле configuration перезаписали полностью.. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 августа, 2011 Жалоба Share Опубликовано 15 августа, 2011 Много раз уже на форуме писал. Вот например - http://vamshop.ru/forum/topic/8730-%d1%83%d1%8f%d0%b7%d0%b2%d0%b8%d0%bc%d0%be%d1%81%d1%82%d1%8c-sql-inj/page__view__findpost__p__72035 Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения