
一位朋友指出了我使用的一個應用程式中的一個 SQL 注入漏洞。
此搜尋參數:
'; exec xp_cmdshell 'dir'; --
回覆訊息:
The EXECUTE permission was denied on the object
'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'.
因為搜尋是從僅對少數表和預存程序具有選擇權限的帳戶運行的。
我想知道,如果惡意用戶碰巧知道 sql server 的管理員帳戶的登入信息,他們是否有可能使用憑證通過 cmd shell 或其他一些頑皮的工作獲得機器的 root 訪問權限?
答案1
SQL 注入可能會使用exec as {credentials}
.但是,執行查詢的原始使用者必須擁有IMPERSONATE
他們嘗試切換到的使用者的權限。這不是預設配置,您必須添加它(添加它也會很奇怪)。
答案2
是否可能並不重要,這裡有一個合法的問題,您應該尋求解決。該命令甚至不應該被發送回伺服器。