不正确的转义字符
在此 Stack Overflow 问题中 ,用户 txtechhelp 发现了^
字符的问题,这可能会导致安全问题。
原因
anyInvaildCommand ^
注意:确保插入符号(^
)是最后一个字符! 任何额外的 CR\LF
根本不起作用!
插入符号寻找下一个要转义的字符。然而,没有更多的字符可以转义,所以 cmd
无限循环,寻找转义的字符。在这个循环过程中,cmd.exe
会消耗你的计算机内存。并逐渐吃掉所有的记忆,让电脑崩溃。
这个问题可能导致更严重的安全问题,因为人们可以将代码输入到已解锁的计算机中。
解决方案
-
使用代码页 UTF-16 可以解决这个问题。只有 UTF-8 或 ASCII 才会导致错误。
-
确保文件中有额外的
CR\LF
,或者只是不要在文件末尾使用插入符号。
额外
这个错误似乎在 Windows 10 中得到解决。