在编程语言中,我执行一个简单的 shell 命令
cd var; echo > create_a_file_here
Run Code Online (Sandbox Code Playgroud)
与VAR是包含(希望)目录的地方,我想创建文件“create_a_file_here”的地方的字符串变量。现在,如果有人看到这行代码,就可以通过赋值来利用它,例如:
var = "; rm -rf /"
Run Code Online (Sandbox Code Playgroud)
事情会变得非常丑陋。避免上述情况的一种方法可能是在var 中搜索字符串中的某些特殊字符,例如 ';' 在执行 shell 命令之前,但我怀疑这涵盖了所有可能的漏洞。
有谁知道确保“cd var”只更改目录而不更改其他任何内容的好方法?