1
tension2012 2014-09-28 08:37:47 +08:00
怎么试试?
|
2
liuyi_beta 2014-09-28 09:17:08 +08:00
这个是修补后绕过的测试,就是需要报错的
|
3
willbefly 2014-09-28 09:17:26 +08:00
打印出时间 说明还没修复
|
4
binux 2014-09-28 09:20:22 +08:00
这时第二次的,都有第三次绕过了
|
5
aWangami OP @binux
@willbefly @liuyi_beta 现在CVE-2014-7169已经修复了吗? redhat给的测试命令是这样子,env 'x=() { (a)=>\' bash -c "echo date";,这个只会打印出date字符串 我把它改了一下,变成了这样子,env 'x=() { (a)=>\' bash -c "echo ‘date`"; |
6
sohoer 2014-09-28 09:29:54 +08:00
@binux
"第三次绕过" 什么情况? [root@AY131220115140Z ~]# env var='() {(a)=>\' bash -c "echo `date`"; cat echo Sun Sep 28 09:28:42 CST 2014 Sun Sep 28 09:16:31 CST 2014 [root@AY131220115140Z ~]# env -i X='() { (a)=>\' bash -c 'echo date'; cat echo date Sun Sep 28 09:16:31 CST 2014 [root@AY131220115140Z ~]# |
7
aWangami OP @sohoer 你得更新bash了
root@server:/# env var='() {(a)=>\' bash -c "echo `date`"; cat echo Sun Sep 28 09:41:39 CST 2014 cat: echo: No such file or directory |
8
palxex 2014-09-28 10:00:12 +08:00 2
LZ别调皮- -你这不是绕过,你修改后这句打印出时间恰恰是没绕过的表现。
1. env var='() {(a)=>\' bash -c "echo date"; cat echo 打印出data,和 2. env var='() {(a)=>\' bash -c "echo `date`"; cat echo 打印出时间是完全对等的,因为bash -c里本来就应该执行echo,之前说绕过了是因为data本来不该执行,但套进``里本来就该执行。 |
10
aa45942 2014-09-28 10:06:18 +08:00
@aWangami shell规定``里的脚本优先进行解析,解析结果取代之前反引号中的内容,`date`传到bash的时候就已经是时间的字符串了
|
11
aWangami OP @aa45942 噢,也就是说这不是因为漏洞而执行的,但是如果env var='() {(a)=>\' bash -c "echo date"; cat echo ,这一句打印出时间的话,就是有问题了是不
|
12
aa45942 2014-09-28 10:23:26 +08:00 1
@aWangami 对,因为echo date本来应该只会打印date这个字符串,但环境变量中的>被放到了bash执行代码中,变成 date > echo ,最后的cat echo是输出echo的内容。这个漏洞危害在于如果有类似unzip的基于bash的cgi,那么会被利用,危害没有前一个大
|
14
SoloCompany 2014-09-28 11:56:13 +08:00
CentOS 的前天的第二次更新(yum可获取)就已经修复了,OSX的我昨天用 port 更新了一下 bash 还是没有修复
|
15
SoloCompany 2014-09-28 12:01:01 +08:00
刚又去更新了下,已经修复,版本号是 4.3.26
$ bash -version GNU bash,版本 4.3.26(1)-release (x86_64-apple-darwin13.2.0) Copyright (C) 2013 Free Software Foundation, Inc. 许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 另,才发现楼主的测试脚本错误,不应该是 `date` 而应该是 date 如果测试发现未修复,记得清理一下当前路径下的 echo 文件 |
16
aru 2014-09-30 09:04:19 +08:00
patch 又更新了
$ bash --version GNU bash, version 4.3.27(1)-release (x86_64-unknown-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> |
17
aWangami OP |