CVE-2019-6339
Drupal 远程代码执行漏洞(CVE-2019-6339)
1.漏洞影响版本
7.62之前的7.x版本、8.6.6之前的8.6.x版本和8.5.9之前的8.5.x版本中的内置phar stream wrapper(PHP)
2.漏洞危害
远程代码执行
3.漏洞POC
cd /root/vulhub/drupal/CVE-2019-6339 //进入本次复现的漏洞目录
docker-compose up -d //docker-compose搭建环境
git clone https://github.com/thezdi/PoC
下载本次要使用的POC
sqlite环境启动后,访问 http://your-ip:8080/ 将会看到drupal的安装页面,一路默认配置下一步安装。因为没有mysql环境,所以安装的时候可以选择sqlite数据库。
管理员头像如下图所示,先使用管理员用户上传头像,头像图片为构造好的 PoC,参考thezdi/PoC的PoC。
poc验证成功Drupal 的图片默认存储位置为 /sites/default/files/pictures/<YYYY-MM>/,默认存储名称为其原来的名称,所以之后在利用漏洞时,可以知道上传后的图片的具体位置。
访问 http://your-ip:8080/admin/config/media/file-system,在 Temporary directory 处输入之前上传的图片路径,示例为 phar://./sites/default/files/pictures/2019-08/blog-ZDI-CAN-7232-cat.jpg,保存后将触发该漏洞。如下图所示,触发成功。
4.复盘
漏洞出现原因
https://paper.seebug.org/897/
2018年BlackHat大会上的Sam Thomas分享的File Operation Induced Unserialization via the “phar://” Stream Wrapper议题,原文https://i.blackhat.com/us-18/Thu-August-9/us-18-Thomas-Its-A-PHP-Unserialization-Vulnerability-Jim-But-Not-As-We-Know-It-wp.pdf
总结
命令
头像图片中是可以看到执行的命令的,本菜一定会寻找大佬,追寻大佬,与大佬同行的!!!!