Shellshock Bash bug的根本原因

时间:2014-09-29 22:50:13

标签: bash shellshock-bash-bug

我没有找到 shellshock bash错误的根本原因,例如CVE-2014-6271。
据我所知,如果应用程序包头内有恶意代码,就会发生shellshock。
例如,如果HTTP标头包含 http-header [Cookie] =(){:; }; ping 192.168.0.1 然后它ping到192.168.0.1。
但是,HTTP标头只需要设置字符串变量。为什么Apache运行bash脚本?
Apache HTTP头解析器是否由bash shell脚本组成?
谢谢! :)

1 个答案:

答案 0 :(得分:2)

用于执行任意外部命令的C system()函数将其参数传递给/bin/sh进行解析。 (这由POSIX指定。)

在Linux系统上,

/bin/sh通常是/bin/bash的符号链接。

如果Apache通过system()调用任何外部程序,并且攻击者能够将恶意代码插入任何环境变量,则会将其传递给/bin/bash