env X='() { (a)=>\' sh -c "echo date"
允许您删除第一个令牌,然后运行结果,将输出发送到已删除的令牌。我可以看到魔法在() { (a)=>\'
部分,但这是一个很难找到的东西,所以如果有人能够解释内部的运作方式会很棒。
在链接的可能重复问题中,使用
将变量导出到环境变量env X="() { :;} ;
与
真的不一样env X='{ (a)=>\'
这是我试图理解工作的部分。那么,(a)
和=>\'
部分的作用是什么?很明显,它正在做一些非常相似的事情,但不同之处在于它绕过了这个漏洞的第一个补丁,请参阅chepner的评论。