如何进行Drupal远程代码执行漏洞CVE-2019-6339分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
0x00简介
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。Drupal是用作建设网站的。它是一个高度模块化,开源的web内容管理框架,它重点建立在合作之上的。它是一个可扩展的,适应标准的,并努力保持简洁代码和较小脚本的系统。Drupal 发布版中包含基本的核心功能,其他的额外功能可通过安装模块来获得。Drupal被设计为可被定制的,但是定制是通过覆写核心功能或者增加模块来完成的,而不是修改核心组件中的代码。它同样成功的将内容管理和内容表示两者分离。
0x01漏洞概述
Drupal core 7.62之前的7.x版本、8.6.6之前的8.6.x版本和8.5.9之前的8.5.x版本中的内置phar stream wrapper(PHP)存在远程代码执行漏洞。远程攻击者可利用该漏洞执行任意的php代码。
0x02影响范围
Drupal core 7.62之前的7.x版本
8.6.6之前的8.6.x版本
8.5.9之前的8.5.x版本
0x03环境搭建
1.本次漏洞环境使用vulhub中得docker搭建
下载地址:https://github.com/vulhub/vulhub
2.下载完成后使用xftp等传入到安装了docker和docker-compose的虚拟机中使用以下命令启动漏洞环境
cd vulhub-master/drupal/CVE-2019-6339/ #进入目录
docker-compose up -d #启动环境
3.在浏览器访问http://your-IP:8080,安装drupal时语言选择英文安装
4.在择数据库时选择用sqlite数据库安装,下一步配置网站信息,注意要把自动检查更新关掉
5.点击下一步看到以下页面表示安装完成
0x04漏洞复现
1.在浏览器输入http://your-ip:8080/user/1/edit,进入用户上传头像处,在要上传的图片中构造poc
注:drupal的图片默认存储位置为 /sites/default/files/pictures/<年-月>/<name>,默认存储名称为其原来的名称,所以之后在利用漏洞时,可以知道上传后的图片的具体位置。
2.在浏览器访问http://your-ip:8080/admin/config/media/file-system,在 Temporary directory 处输入之前上传的图片路径, phar://./sites/default/files/pictures/2021-01/blog-ZDI-CAN-7232-cat.jpg,保存后触发该漏洞
3.需要执行其他命令修改图片中的的命令,需要修改对应的字节
0x05修复建议
1. 升级Drupal至最新版本。
关于如何进行Drupal远程代码执行漏洞CVE-2019-6339分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/220367.html