漏洞背景
Drupal core是Drupal社区所维护的一套用PHP语言开发的免费、开源的内容管理系统。 Drupal core 7.62之前的7.x版本、8.6.6之前的8.6.x版本和8.5.9之前的8.5.x版本中的内置phar stream wrapper(PHP)存在远程代码执行漏洞。远程攻击者可利用该漏洞执行任意的php代码。
漏洞复现
我用到的是vulhub的环境,它提供了Poc文件
下载后,得到Poc图片,使用管理员账户登录并上传头像,头像图片为Poc图片
Drupal 的图片默认存储位置为 /sites/default/files/pictures/<YYYY-MM>/
,默认存储名称为其原来的名称,所以之后在利用漏洞时,可以知道上传后的图片的具体位置。
访问 http://127.0.0.1:8080/admin/config/media/file-system
,在 Temporary directory
处输入之前上传的图片路径,示例为 phar://./sites/default/files/pictures/2021-05/blog-ZDI-CAN-7232-cat.jpg
,保存后将触发该漏洞。