Сейчас на форуме: Rio, vsv1 (+4 невидимых)

 eXeL@B —› Вопросы новичков —› PHP+MySQL обход mysql_real_escape_string
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 апреля 2008 13:51 · Поправил: divby0
· Личное сообщение · #1

Ку всем.
В общем пишу свой инет проект, и сечас задумался о безопасност своего модуля для работы с базой, а именно MySQL.
Поискав в сети обнаружил у себя кучу SQL инъекций, от некоторых удалось избавится (на мой взгляд).
ну вот в общем и возник вопрос, реально ли обойти функцию mysql_real_escape_string .
Простой пример:

$id = mysql_real_escape_string($_GET['id']);
$title = $db->query("SELECT title FROM news WHERE id = {$id}");


если id присвоить например значение:
-1+UNION+SELECT+null,DATABASE(),null,null

будет небольшой инъекцией, от этого уйти можно например проверяя тип переменно или жестко устанавливая его.
Ну, а теперь собственно вопрос можно ли вставить подобное
-1+';+UPDATE+news+set+title=111

тоесть может ли mysql_real_escape_string пропустить кавычку (одинарную или двойную). Если да, то как с этим можно бороться.



Ранг: 9.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 29 апреля 2008 14:34
· Личное сообщение · #2

https://forum.antichat.ru/thread30641.html

И ВСЁ!!!!!!



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 апреля 2008 15:34
· Личное сообщение · #3

Спасибо за ссылку, значит делаем вывод:

если число, тогда intval
если строка, тогда mysql_real_escape_string



Ранг: 9.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 29 апреля 2008 15:50 · Поправил: _taha_
· Личное сообщение · #4

Обрати внимание: magic quotes и прочая пое*нь ОТКЛЮЧЕНЫ!
переменные в одинарные кавычки и все
И можешь не беспокоится по поводу sql-inj


 eXeL@B —› Вопросы новичков —› PHP+MySQL обход mysql_real_escape_string
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати