Shellshock漏洞,CVE-2014-7169

Joh*_*ell 18 linux bash shellshock-bash-bug

这个ycombinator线程说明了这一点

env X='() { (a)=>\' sh -c "echo date"
Run Code Online (Sandbox Code Playgroud)

允许您删除第一个令牌,然后运行结果,将输出发送到已删除的令牌.我可以看到魔法在这个() { (a)=>\'部分,但这是一个很难找到的东西,所以如果有人能够解释内部的运作方式会很棒.

在链接的可能重复的问题中,变量通过使用导出到环境变量,

env X="() { :;} ;
Run Code Online (Sandbox Code Playgroud)

这真的不一样

env X='{ (a)=>\'
Run Code Online (Sandbox Code Playgroud)

这是我试图了解其运作的部分.那么,这些(a)=>\'零件做什么?很明显,它正在做一些非常相似的事情,但不同之处在于它绕过了这个漏洞的第一个补丁,请参阅chepner的评论.