Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Чтение и запись файлов в Mssql (https://forum.antichat.xyz/showthread.php?t=81456)

[Raz0r] 18.08.2008 23:40

Чтение и запись файлов в Mssql
 
Есть SQL-инъекция в ASPX-скрипте, взаимодействующим c MSSQL 2005. Имеются права пользователя dbo. Для чтения файлов создаю таблицу и пишу туда содержимое файла:
Код:

'; CREATE TABLE mydata (line varchar(8000)); BULK INSERT mydata FROM 'c:\boot.ini';--
Таблица успешно создается и данные вставляются. Проблема возникает при извлечении данных из таблицы, так как в MSSQL нет оператора LIMIT. Он мне нужен для последовательного чтения записей из таблицы mydata, так как BULK INSERT разбивает данные на \n и записывает каждую строку как отдельную запись в таблице. С top 1 получается посмотреть только первую запись:
Код:

' or 1=(SELECT top 1 line FROM mydata)--
Пробовал такой вариант:
Код:

'  or 1=( SELECT TOP 1 line FROM ( SELECT top 4 line FROM mydata ORDER BY line ASC) sq ORDER BY line DESC);--
Но постоянно получаю первую строку из файла. Также пробовал создавать таблицу с колонкой line с большим размером для того, чтобы записать весь файл в одно поле таблицы, но MSSQL возвращает ошибку, в которой сообщается, что 8000 байт это максимум.
Ищу способ нормального чтения файлов.
Также нужен способ для записи. Права dbo позволяют выполнять команды с помощью xp_cmdshell, но ничего не выходит. Так как инъекция в MSSQL 2005, в котором xp_cmdshell по умолчанию отключен даже для dbo, сначала пробовал разрешить его использование:
Код:

'; EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;--
Потом пробовал записать в файл:
Код:

'; exec xp_cmdshell 'echo 1 > D:\web\test.html';--
Папка D:\web\ доступна из web, но файл там не появился. Каким образом можно точно определить работает ли xp_cmdshell? Какие еще существуют способы записи файлов?
З.Ы. почти все порты фильтруются, включая 1433


Время: 02:37