Linux再曝安全漏洞Bash 比“心脏出血”还严重
2014年9月25日消息:一个被指比“心脏出血”还要严重的Linux安全漏洞被发现,尽管还没有发现利用该漏洞进行的攻击,但是比“心脏出血”更低的操作门槛让它比前者更加危险。
Bash是用于控制Linux计算机命令提示符的软件。网络安全公司Trail of Bits的首席执行官丹・吉多表示:与“心脏出血”只允许黑客窥探计算机,但不会让黑客获得计算机的控制权。Bash漏洞则不一样,黑客可以利用它对目标计算机系统进行完全控制。
更糟的是,利用Bash漏洞的方法更加简单,只要直接剪切和粘贴一行软件代码,就能取得效果。如此低的门槛可能会吸引来更多的黑客进行攻击,这也是安全专家担心的地方。
为了避免您Linux服务器受影响,建议您尽快完成漏洞修补,修复方法如下
漏洞检测命令:env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
若显示:
vulnerable
this is a test 则漏洞未修复
若显示:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test 则漏洞已修复
漏洞修复命令:yum update bash -y
附:网上还有一条漏洞检测命令:env -i X='() { (a)=>\' bash -c 'echo date'; cat echo
输出结果中见到"date"字样就修复成功了
我的服务器是centos6.5 显示如下:
[dy@web115 ~]$ 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 显示结果表明我修复成功了!
[dy@web115 ~]$ env -i 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'
Sat Sep 27 19:25:36 CST 2014 显示结果表明我未修复成功!(因为没有出现date)
服务器已重启,那我到底是修复成功还是不成功呢???????
网上找的
env X='() { (a)=>\' sh -c "echo date"; cat echo 输出如下:
date
Mon Sep 29 10:11:56 CST 2014
env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Hello" 输出如下:
Bash Hello
证明修复成功
临时解决办法为:
yum -y update bash
升级bash后,执行测试:
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
如果显示如上,表示已经修补了漏洞。
我在服务器上输入以下三条检测命令,显示结果与网上查的互相矛盾,到底修复成功了没呀
[root@ddd ~]# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
cat: echo: No such file or directory 领导说这样就成功了
[root@ddd~]# env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Hello"
Bash Hello
[root@ddd~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test 可却显示这个,与网上的说法不符
真是纠结!!!
还有一种说法
yum --enablerepo=updates install bash
env -i x='() { (a)=>\' bash -c "echo date" ;cat echo
date
cat: echo: 没有那个文件或目录
显示以上则说明修复成功。
可执行以上修复命令后,有三台服务器显示
date
Sat May 23 21:46:55 CST 2020 这算成功吗?
纠结纠结!!
相关链接:http://www.linuxidc.com/Linux/2014-09/107176.htm