Sql-Server

UNION xp_cmdshell

  • January 19, 2016

我正在嘗試並沒有做以下事情

select 1 union xp_cmdshell 'whoami'

反正有沒有得到這項工作?越簡單越好,即一個陳述。

如果我們忽略這UNION將刪除重複項(在問題中給出的情況下忽略這似乎是有效的,因為1不能與DOMAIN\UserName字元串衝突)。

EXEC master.sys.xp_cmdshell N'echo 1 & whoami'

這可能是最簡單的:

CREATE TABLE #x(y nvarchar(max));
INSERT #x(y) EXEC master.sys.xp_cmdshell N'whoami';
SELECT N'1' UNION SELECT y FROM #x WHERE y IS NOT NULL;

您可能可以通過創建環回連結伺服器在更少的語句中完成它,但是您會遇到各種障礙 - 需要配置伺服器以進行數據訪問,無法從擴展儲存過程中確定元數據,等等。

為什麼不讓任何創建文本文件的東西實際將內容放入 SQL Server 中(或至少除此之外)?

引用自:https://dba.stackexchange.com/questions/126663