我最近遇到了 shellshock 错误,这是 bash shell 中的错误。它以某种方式使用该env
命令创建包含函数的环境变量。
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
这些函数会在生成新的 bash shell 时运行。我在很多地方阅读并得到了与我刚刚写的相同的解释。但我仍然无法弄清楚上述命令及其参数的工作原理。谁能解释一下?
我最近遇到了 shellshock 错误,这是 bash shell 中的错误。它以某种方式使用该env
命令创建包含函数的环境变量。
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
这些函数会在生成新的 bash shell 时运行。我在很多地方阅读并得到了与我刚刚写的相同的解释。但我仍然无法弄清楚上述命令及其参数的工作原理。谁能解释一下?