不正確的轉義字元

在此 Stack Overflow 問題中 ,使用者 txtechhelp 發現了^字元的問題,這可能會導致安全問題。

原因

anyInvaildCommand ^

注意:確保插入符號(^)是最後一個字元! 任何額外的 CR\LF 根本不起作用!

插入符號尋找下一個要轉義的字元。然而,沒有更多的字元可以轉義,所以 cmd 無限迴圈,尋找轉義的字元。在這個迴圈過程中,cmd.exe 會消耗你的計算機記憶體。並逐漸吃掉所有的記憶,讓電腦崩潰。

這個問題可能導致更嚴重的安全問題,因為人們可以將程式碼輸入到已解鎖的計算機中。

解決方案

  • 使用內碼表 UTF-16 可以解決這個問題。只有 UTF-8ASCII 才會導致錯誤。

  • 確保檔案中有額外的 CR\LF,或者只是不要在檔案末尾使用插入符號。

額外

這個錯誤似乎在 Windows 10 中得到解決。