我在两台机器上使用 Fedora 20。
刚刚在 2014 年 9 月 26 日 UTC 时间 1100 时,在英国阅读了有关 Shellshock 漏洞的信息后yum update bash
,为了防范它,我尝试了以下推荐的测试模式:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Run Code Online (Sandbox Code Playgroud)
并且,在 user 和 su 模式下,在一台机器上得到这个结果:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for 'x'
this is a test
Run Code Online (Sandbox Code Playgroud)
另一方面,我得到了简单的:
this is a test
请问:我在两台机器上都成功了吗,还是我应该担心?
为了回应@terdon 的评论,我得到了这个结果:
[Harry@localhost]~% env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
echo vuln
cat: echo: No such file or directory
[Harry@localhost]~%
Run Code Online (Sandbox Code Playgroud)
不过不知道是什么意思。
为了清楚起见,我对警告以及两台机器之间的差异感到困惑。我再次仔细查看了警告消息。可能是,在没有错误消息的机器上,我输入了带有“复制和粘贴”的命令:另一方面,我输入了它并收到了警告,现在我看到警告引用了最后的“x”作为`x'(注意“反勾号”)。那台机器有一个美式键盘,我还不能改成英式布局,但还有另一个问题。
在 'net 这个LinuxQuestions.org 线程上对此进行了讨论,看起来两者都是安全的。
你做得对。
您的系统是安全的,不会受到此漏洞的攻击。
如果您的系统不安全,命令的输出将是:
脆弱
这是一个测试
但因为你的输出是
bash:警告:x:忽略函数定义尝试
bash:为“x”导入函数定义时出错
这是一个测试
你很安全。
如果您昨天这样做了,请考虑yum update bash
今天也运行,因为昨天的修复不如今天发布的好。
编辑(因为 OP 要求更多信息)
我也可以让你平静下来的新漏洞。您的系统已经安装了新的修复程序。
如果你有输出
echo vuln
仍然很脆弱 :(
你仍然很脆弱。
现在我不能回答你这个漏洞是如何工作的,我的意思是我不能告诉你到底发生了什么以及第一个和第二个漏洞之间有什么区别。但我可以给你一个简单的答案,说明 expoit 是如何工作的。
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
除了在每次启动 bash-shell 时都会执行的环境变量中保存一些可执行代码之外,“什么都不做” 。
并且 bash-shell 很容易/经常启动。不仅是你自己,而且很多程序都需要 bash 来完成他们的工作。比如CGI。
如果你想更深入地了解这个漏洞,这里是红帽安全博客的链接:https : //securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code -注入攻击/
归档时间: |
|
查看次数: |
1543 次 |
最近记录: |