Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 430|回复: 0
打印 上一主题 下一主题

关于httpoxy漏洞的修复方法

[复制链接]

85

主题

89

帖子

600

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
600
跳转到指定楼层
楼主
发表于 2016-7-22 15:13:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
影响范围

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模式下都是不可信不安全的。


利用条件
  • 后端信任接收的 Header
  • 污染控制的变量被脚本调用
  • 开启CGI(Client)模式
  • 服务器能对外通信
修复方案

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

Nginx

在配置中加入

fastcgi_param HTTP_PROXY "";


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, 2025-1-6 05:55 , Processed in 0.032941 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表