0
我知道我需要逃避@cmd变种运行:excaping字符运行xp_cmdshell的
declare @cmd 'xp_cmdshell ''echo Mary|Warrior > c:\test.txt'''
exec (@cmd)
因为字符“|”运行该命令时会失败。
所以,以前跑我设置:
set @cmd = replace(@cmd, '|', '^|')
由于@cmd变种可以是任意的字符串(用户发送)...我需要什么其他字符可担心的?
(我知道他们夫妇如>的,<)
为什么要执行从您的用户收到的字符串值?这是一个潜在的sql注入漏洞。 –