Linux再曝安全漏洞Bash 比“心脏出血”还严重

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

你可能感兴趣的:(漏洞,linux,bash)