Все же помогите понять один нюанс.
Запросом на подобии
or+1=(SELECT+TOP+1+TA BLE_NAME+FROM+INFORMATION_S CHEMA.TABLES
Выводятся имена таблиц. все отлично! Так же стандартными методами прочел имена БД. Но когда пришло время узнавать имена колонок.... вот тут получил задачку на которую сегодня весь вечер убил.
Сервер отвечал
---------------
error '80040e21'
The requested properties cannot be supported.
---------------
Как при не корректном запросе или если нет такой таблицы(БД и тд)
Решение нашел вот в таком запросе
or%201=(select%20top%201%201%20fro m%20information_s chema.tables+u nion+select+column_NAME+from+INFORMATION_S CHEMA.columns
По крайней мере за сегодняшний вечер я наконец увидел название колонки.
Если просто начинать инжектить с юнион-селект - то запрос выводит вышеприведенную ошибку 80040e21.
Завтра уже буду дабивать запрос до необходимого рабочего вида, но может кто то поможет понять почему так происходит?
Небольшое дополнение:
В общем - если у кого то случается такая бякак как у меня, нет вывода из системных таблиц и некоторых юзерских при or+1=(SELECT+TOP+1.....
то можно это сделать таким способом:
or 1=(select 1 from information_s chema.tables+union+select+name+from+m aster..syslogi ns)--sp_password
Был бы очень благодарен тому кто объяснит почему так происходит при первом примере запроса. А то что то в этих мелкософтовых продуктах как всегда все запутанно и все через ж0пу как я посмотрю)) трудно с нуля все разобрать.
