[help] Проверка запроса на инъекцию

Статус
В этой теме нельзя размещать новые ответы.

[iq]

Профессор
Регистрация
17 Июл 2007
Сообщения
201
Реакции
45
Возник вопрос по безопасности/взлому:

Представим у нас есть запрос:

Код:
select lala from table where pole = \'' . $value . '\'
Возможно ли подстановкой определенной строки (c функциями char(),hex-строки или AES_ENCRYPT()) вместо $value, совершить иньекцию?
Замечу есть одна загвоздка: $value фильтруется на наличе ' и \. При чем вместо кавычка и слэш удваиваются.

Прошу помочь.

ЗЫ все конечно происходит в MySql.
 
Составить SQL-инъекцию не получится, т.к. все что ты введешь будет в ковычках ' '. Выйти из них ты не сможешь, т.к. идет фильтрация.

p.s. Статья бред...ну может лет 6 назад она не была бредом, но сейчас ее актуальность = 0.
 
мда..т.е. мускул не смотрит на наличие в строках функций..хреново.

Статья..видел подобных уже очень много.

Значит, надо искать другую уязвимость...
 
p.s. Статья бред...ну может лет 6 назад она не была бредом, но сейчас ее актуальность = 0.
Можно по пунктам, что там бред?

magic_quotes_gpc не бывает включен на хостинге?

mysql_real_escape_string() для обработки добавляемых в sql запрос значений для mysql использовать не нужно?

Добавлено через 1 минуту
мда..т.е. мускул не смотрит на наличие в строках функций..хреново.
Объясни мне, что там и куда он должен смотреть? Какие такие функции?

Статья..видел подобных уже очень много.
Дай примеры других статей?
 
Объясни мне, что там и куда он должен смотреть? Какие такие функции?

вот отличный список функций.
Дело в том, что если ты не заметил, говорили об обходе следующего метода защиты, в первом посте, чтобы совершить инъекцию.
А так как кавычки удваиваются, то строка куда вставляется $value всегда будет открыта, а как показали запросы (тестил через пхпмайадмин) интерпретатор sql не смотрит на наличие функций в строках (т.е. между ковычками).

Дай примеры других статей?
Статью рассматривал только с точки зрения инъекций, а поэтому все(почти все) видел в различных других статьях (конечно же, не целиком). Примеры щас не могу дать, так как читал и смотрел их очень много всего за пару дней и увидел, что все они в основном одинаковы +- что-то.

А так полезно почитать сборник статей выложенный здесь, некоторые статьи на inattack.ru и на хакере.

ЗЫ и что за такое недовольство в посте, fpinger? Это я должен недовольствоваться, что не нашлось решения проблемы)
 
Можно по пунктам, что там бред?
Нельзя, если сравнишь эту статью, со статьями написанными более в современные года, то увидишь большую разницу. В твоей статье, показаны самые азы, щас информации по теме скули, просто море новой.

magic_quotes_gpc не бывает включен на хостинге?
mysql_real_escape_string() для обработки добавляемых в sql запрос значений для mysql использовать не нужно?

Ты понимаешь, тут вот какое дело...Даже если на серве будут правильно работать mysql_real_escape_string и magic_quotes_gpc (можно по отдельности, это неважно)...Это дает тока 50% защиты от скули, иначе, тебя успешно взломают той же скулей.

нтерпретатор sql не смотрит на наличие функций в строках (т.е. между ковычками).

Ну правильно делает)) Ты данные можешь передавать как числа или как текст. Текст всегда должен обрамлятся ковычками. Числа - необязательно. Если бы функции базы парсились в тексте, прикинь скока гемороя былоб, вон на форуме, кто-нить использовал какую-либо функцию из базы, а база ее пропарсила и выполнила) тогда пришлось, каждую функцию перед отправкой в базу парсить, экранить, кодировать и т.д. )))
 
Дело в том, что если ты не заметил, говорили об обходе следующего метода защиты, в первом посте, чтобы совершить инъекцию.
А так как кавычки удваиваются, то строка куда вставляется $value всегда будет открыта, а как показали запросы (тестил через пхпмайадмин) интерпретатор sql не смотрит на наличие функций в строках (т.е. между ковычками).
Гы. Вот если бы прочли и применили статью, которую тут некоторые называют устаревшей, то поняли, что всё что вы несёте полный бред. Значения вставляются в sql запрос в определённых местах. Значения эти достаточно либо привести к нужному типу (например целому числу), либо, если они строковые, обработать через mysql_real_escape_string(). Никакая иньекция тогда не грозит.

Статью рассматривал только с точки зрения инъекций, а поэтому все(почти все) видел в различных других статьях (конечно же, не целиком). Примеры щас не могу дать, так как читал и смотрел их очень много всего за пару дней и увидел, что все они в основном одинаковы +- что-то.
Я попросил ссылочки на подобные статьи. Их вы не предоставили. Посему считаю вас болоболкой. И ещё. Ту статью не нужно рассматривать. Её нужно применять. Если не доросли, перечтите ещё раз нацать.

Добавлено через 10 минут
Нельзя, если сравнишь эту статью, со статьями написанными более в современные года, то увидишь большую разницу. В твоей статье, показаны самые азы, щас информации по теме скули, просто море новой.
Не видел я ваших новых статей. Только ваши рассуждения пустые. А в статье той дано всё что достаточно. Она вполне спасает от sql иньекций.

Ты понимаешь, тут вот какое дело...Даже если на серве будут правильно работать mysql_real_escape_string и magic_quotes_gpc (можно по отдельности, это неважно)...Это дает тока 50% защиты от скули, иначе, тебя успешно взломают той же скулей.
Примеры в студию. Нету? Балоболем в пустую? От sql иньекций та статья даёт 100% защиту. Она не защищает от ламеров, которые занимаются рассуждалками и не применяют, то что в ней дано.


Ну правильно делает)) Ты данные можешь передавать как числа или как текст. Текст всегда должен обрамлятся ковычками. Числа - необязательно. Если бы функции базы парсились в тексте, прикинь скока гемороя былоб, вон на форуме, кто-нить использовал какую-либо функцию из базы, а база ее пропарсила и выполнила) тогда пришлось, каждую функцию перед отправкой в базу парсить, экранить, кодировать и т.д. )))
Я вас удивлю. Вы опять показали проф непригодность. Любая функция - это всего лишь обычные данные, если пропущена через
mysql_real_escape_string или её аналоги для других БД.

И ещё. Для особо умных. Не нужно путать sql иньекции крос сайт скриптинг, использующий JavaScript. Так что вникните вначале в тему, а потом балобольте.
 
Значения вставляются в sql запрос в определённых местах. Значения эти достаточно либо привести к нужному типу (например целому числу), либо, если они строковые, обработать через mysql_real_escape_string(). Никакая иньекция тогда не грозит.
Да. Но меня же я спрашивал про Данный Конкретный случай, как в нем, если возможно провести инъекцию. А не про методы защиты(хотя, конечно, это все пересекается).
 
Тоесть вы опять не прочли статью? Извените, вам больше ничто и никто не поможет.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху