摘要:[SQL SERVER] xp_cmdshell 與 安全性問題
xp_cmdshell讓Sql server以相同的服務帳務執行Windows command
是一個會影響安全性的功能
例如執行
Exec master..xp_cmdshell 'net user testUser P@ssw0rd123 /add'
可以在windows上建立一個testUser帳號
當然複製、刪除檔案等等,你想像的到的動作,大概都可以
若是遭受到Sql Injection攻擊....後果不敢想像,因此SQL SERVER預設是關閉此功能的。
可以透過語法才查看xp_cmdshell是否開啟
-- 1.
SELECT * FROM sys.configurations WHERE name = 'xp_cmdshell'
-- 2.
sp_configure 'show advanced',1
reconfigure;
sp_configure
GO;
-- 開啟
sp_configure 'xp_cmdshell',1
reconfigure;
--關閉
sp_configure 'xp_cmdshell',0
reconfigure;
建議還是不要開啟吧