0
我知道我需要逃避@cmd變種運行:excaping字符運行xp_cmdshell的
declare @cmd 'xp_cmdshell ''echo Mary|Warrior > c:\test.txt'''
exec (@cmd)
因爲字符「|」運行該命令時會失敗。
所以,以前跑我設置:
set @cmd = replace(@cmd, '|', '^|')
由於@cmd變種可以是任意的字符串(用戶發送)...我需要什麼其他字符可擔心的?
(我知道他們夫婦如>的,<)
爲什麼要執行從您的用戶收到的字符串值?這是一個潛在的sql注入漏洞。 –