Discuz! Board

标题: 关于httpoxy漏洞的修复方法 [打印本页]

作者: zhoulei    时间: 2016-7-22 15:13
标题: 关于httpoxy漏洞的修复方法
影响范围

PHP、Go、Python等开启CGI(Client)模式的脚本语言

Language
环境依赖
HTTP Client

PHP
php-fpmmod_php
Guzzle 4+Artax

Python
wsgiref.handlers.CGIHandlertwisted.web.twcgi.CGIScript
requests

Go
net/http/cgi
net/http
漏洞原理

在CGI(RFC 3875)的模式的时候,server 会把请求中的 Header, 加上 HTTP_ 前缀, 注册为环境变量,且重名变量会被覆盖污染,若该变量被脚本调用,即可利用,该漏洞在15年前在LWP中已被发现并修复http://www.nntp.perl.org/group/perl.libwww/2001/03/msg2249.html

如控制 HTTPHOST 进行 URL 跳转,或者直接控制 HTTP_PROXY 让流量到代理服务器中转,将 HTTP 控制进入环境变量进行shellshock攻击等,所以,所有 HTTP_ 开头的环境变量在CGI模式下都是不可信不安全的。


利用条件修复方案

最为有效的方式就是在脚本调用变量之前及时阻断或者限制内部调用时的可信变量

Nginx

在配置中加入

fastcgi_param HTTP_PROXY "";







欢迎光临 Discuz! Board (http://123.59.83.120:8080/) Powered by Discuz! X3.2