Drupal远程代码执行漏洞(CVE-2019-6339)

一。漏洞影响版本
Drupal core 7.62之前的7.x版本 8.6.6之前的8.6.x版本 8.5.9之前的8.5.x版本

二。漏洞原理
版本内置中的phar(反序列化RCE) stream wrapper(php)存在远程代码执行漏洞,能够执行任意的PHP代码。
Drupal机制:出现同名文件上传后,就会在文件名后面加上—0,—1,依次递增。
Drupal默认图片会储存在/sites/default/files/pictures/<…>/,名称不变,就可知上传后图片的位置。
三。环境搭建
首先安装Drupal:

这里选择英语

Drupal远程代码执行漏洞(CVE-2019-6339)_第1张图片

Drupal远程代码执行漏洞(CVE-2019-6339)_第2张图片
Drupal远程代码执行漏洞(CVE-2019-6339)_第3张图片
Drupal远程代码执行漏洞(CVE-2019-6339)_第4张图片
Drupal远程代码执行漏洞(CVE-2019-6339)_第5张图片
安装成功

四。漏洞复现,进入管理页面

Drupal远程代码执行漏洞(CVE-2019-6339)_第6张图片
Drupal远程代码执行漏洞(CVE-2019-6339)_第7张图片
利用vulhub自带的具有POC的图片进行上传:
Drupal远程代码执行漏洞(CVE-2019-6339)_第8张图片
Drupal远程代码执行漏洞(CVE-2019-6339)_第9张图片
利用vim打开,发现系统命令,后续也可以更改

Drupal远程代码执行漏洞(CVE-2019-6339)_第10张图片
在这里插入图片描述

提交成功

查找路径:
Drupal远程代码执行漏洞(CVE-2019-6339)_第11张图片
输入一下路径:
这是本人的路径,每个人的不同,请注意,可以查看图片上传的路径,确定好时间,然后保存,如果没反应,后面加上:”_0.jpg“
phar://./sites/default/files/pictures/2022-08/blog-ZDI-CAN-7232-cat.jpg

Drupal远程代码执行漏洞(CVE-2019-6339)_第12张图片

修改POC,尝试其他命令:
其中 uname -a 是8个字节
Drupal远程代码执行漏洞(CVE-2019-6339)_第13张图片
Drupal远程代码执行漏洞(CVE-2019-6339)_第14张图片
上传成功:
查看图片路径,发现名称不变,只是后面加了个 _0
Drupal远程代码执行漏洞(CVE-2019-6339)_第15张图片

http://192.168.5.100:8080/sites/default/files/pictures/2022-08/blog-ZDI-CAN-7232-cat_0.jpg

Drupal远程代码执行漏洞(CVE-2019-6339)_第16张图片
成功

复现完发现此漏洞就是 管理员登录头像,然后在头像的图片中设置POC,建立临时文件,POC中带有系统命令执行代码,还有因为图片的路径是默认的,并且相同的名称后面会加上_0,_1,依次递增,所以漏洞利用成功,php任意代码执行。

你可能感兴趣的:(漏洞复现,php,安全,web安全)