【发布时间】:2014-11-20 17:03:11
【问题描述】:
我最近遇到了 shellshock 错误,这是 bash shell 中的错误。不知何故,它使用env 命令创建包含函数的环境变量。
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
这些函数会在生成新的 bash shell 时运行。我在很多地方阅读并得到了与我刚刚写的相同的解释。但我仍然无法弄清楚上述命令及其参数的工作原理。 谁能解释一下?
【问题讨论】:
-
@ralph 考虑到围绕“shellshock”的宣传和恐慌,您应该假设已经就该主题进行了讨论。
-
@JakeGould:我通过互联网阅读了帖子和讨论,找不到详尽的解释
-
man env?这只是触发错误的一种方式;了解env的工作原理并不能解释漏洞利用本身的工作原理。 -
可以说,更好的副本是Exactly what does
envdo in Bash?。
标签: bash shell shellshock-bash-bug