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

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

[iq]

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

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

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

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

ЗЫ все конечно происходит в MySql.
 

tostrss

Мой дом здесь!
Регистрация
16 Окт 2007
Сообщения
768
Реакции
219
Составить SQL-инъекцию не получится, т.к. все что ты введешь будет в ковычках ' '. Выйти из них ты не сможешь, т.к. идет фильтрация.

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

[iq]

Профессор
Регистрация
17 Июл 2007
Сообщения
201
Реакции
45
мда..т.е. мускул не смотрит на наличие в строках функций..хреново.

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

Значит, надо искать другую уязвимость...
 

fpinger

Гуру форума
Регистрация
11 Май 2007
Сообщения
256
Реакции
63
p.s. Статья бред...ну может лет 6 назад она не была бредом, но сейчас ее актуальность = 0.
Можно по пунктам, что там бред?

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

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

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

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

[iq]

Профессор
Регистрация
17 Июл 2007
Сообщения
201
Реакции
45
Объясни мне, что там и куда он должен смотреть? Какие такие функции?

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

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

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

ЗЫ и что за такое недовольство в посте, fpinger? Это я должен недовольствоваться, что не нашлось решения проблемы)
 

tostrss

Мой дом здесь!
Регистрация
16 Окт 2007
Сообщения
768
Реакции
219
Можно по пунктам, что там бред?
Нельзя, если сравнишь эту статью, со статьями написанными более в современные года, то увидишь большую разницу. В твоей статье, показаны самые азы, щас информации по теме скули, просто море новой.

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

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

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

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

fpinger

Гуру форума
Регистрация
11 Май 2007
Сообщения
256
Реакции
63
Дело в том, что если ты не заметил, говорили об обходе следующего метода защиты, в первом посте, чтобы совершить инъекцию.
А так как кавычки удваиваются, то строка куда вставляется $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. Так что вникните вначале в тему, а потом балобольте.
 

[iq]

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

fpinger

Гуру форума
Регистрация
11 Май 2007
Сообщения
256
Реакции
63
Тоесть вы опять не прочли статью? Извените, вам больше ничто и никто не поможет.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху