| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Опасные cookies |
| Автор: Wolf1994 30.12.2008, 23:01 |
| Попробовал поставить функцией setcookie cookie с апострофом - '. При чтении кука оказалась забэкслешенной. Попробовал поставить такую куку в редакторе cookies в FireFox 3 - схожий результат. Возможно ли, в принципе, поставить в куку "нормальный" апостроф? Возможно, есть какие-то "хакерские" браузеры, которые делают это? |
| Автор: Sunvas 30.12.2008, 23:53 | ||
Возможно это сервер слеширует все входящие данные? Глянь оригиналы заголовков, которые посылает браузер - тогда точно будешь знать, где проблема. Да, и функцию stripslashes никто не отменял. Добавлено через 1 минуту и 29 секунд Попробуй вот что:
|
| Автор: Wolf1994 31.12.2008, 00:18 |
| Заголовки посылаемые браузером читать не умею, только посылаемые документом. Буду благодарен за объяснение, как это сделать. Если get_magic_quotes_gpc() возвращает true, значит ли это что сервер бэкслеширует ВСЕ переменные, приходящие от пользователя? И значит ли это также, что SQL-инъекция на основе данных, полученных от пользователя, невозможна? |
| Автор: theworldcreator 31.12.2008, 02:05 | ||
https://addons.mozilla.org/en-US/firefox/addon/3829/, полезная штука, показывает входящие/исходящие заголовки, ИМХО очень нужна тому, кто хочет понять суть протокола HTTP.
Да. SQL инъекция все равно возможна. Даже не забивай себе голову как, просто пользуйся функцией, которая точно тебя от инъекций обезопасит, ко всем входящим строковым данным, http://ru2.php.net/mysql_real_escape_string. |
| Автор: Wolf1994 31.12.2008, 02:22 | ||||
| theworldcreator, спасибо за ссылку. Этой функцией я пользуюсь, но забыл поставить её на данные, получаемые с кук. Теперь ломаю голову, возможен ли был взлом при таком запросе:
Попробовал взломать его, поставив на member: Wolf' OR (`id`='305 и password: test') OR `id`='1 В результате должен был получится запрос:
но апострофы экранировались и в результате никакой инъекции не получилось. Если есть хоть малейшая возможность взломать такой запрос, прошу подсказать, как это возможно. |
| Автор: Sunvas 31.12.2008, 02:28 | ||
А ты попробуй послать: \' |
| Автор: Wolf1994 31.12.2008, 02:31 |
| Пробовал, в результате получался двойной "экран": \\\' |
| Автор: theworldcreator 31.12.2008, 03:14 | ||||||||
| В таком случае, насколько я знаю, взлом невозможен, проблемы обычно идут от неиспользования кавычек в оформление непроверенных пользовательских данных. На хакеры - народ изощренный. Во всяком случае они уделят больше времени придумыванию способы взлома, чем мы, так что лучше обезопасится. Добавлено через 6 минут и 21 секунду Кстати вместо
проще использовать
а вместо
правильней
(если `id` - столбец числового типа данных) Добавлено через 8 минут и 59 секунд P.S. Как правильно заметил Sunvas все мои знания - знания о СУБД MySQL, об остальных я не знаю ничего, так как не использовал, и говорю предполагая что у вас именно она. |
| Автор: Wolf1994 31.12.2008, 11:19 |
| theworldcreator, Sunvas, спасибо за ответы. Вопрос решён. |