一、漏洞描述和危害

当某个服务是以 CGI 形式运行时,在请求头部加入 PROXY Header,CGI 程序会将 PROXY Header 中的内容写入到当前运行环境变量 HTTP_PROXY 中。如果在程序处理过程中需要与程序外部进行 HTTP 通信,请求将会被转发到上述 PROXY Header 指定的服务器中。

攻击者可搭建代理服务器,通过污染 PROXY Header 截获 CGI 程序对外发送的数据,导致敏感信息泄漏。另外可恶意构造数据返回给 CGI 程序,对 CGI 程序进行欺骗。

漏洞作者发布的:传送门

修复方案:

Proxy 并非一个规范的 HTTP Header,因此我们没必要去处理 HTTP 请求中 Proxy 头的内容。 由于每个应用的修复方案不一样,下面以 Nginx 和 Apache 进行举例:
 Nginx:在调用 FastCGI 的地方将 HTTP_PROXY 置为空

Apache:借助 mod_headers 模块将 Proxy 头置为失效。


欢迎留言