Drupal诞生于2000年,是一个基于PHP语言编写的开发型CMF(内容管理框架)。在某些情况下,通过文件模块或者子系统上传恶意文件触发XSS漏洞。
- 影响软件:Drupal
- 方式:通过文件模块或者子系统上传恶意文件触发XSS漏洞
- 参考链接:Drupal 1-click to RCE 分析
- 效果:JS代码执行(Cookies 资料窃取、会话劫持、钓鱼欺骗、网页挂马等)
漏洞复现
1.使用vulhub环境,进入目录,启动环境
service docker start
cd /vulhub/drupal/CVE-2019-6341
docker-compose up -d
2.访问127.0.0.1:8080
进行CMF的安装,选择数据库使用sqlite数据库
该漏洞需要利用drupal文件模块上传文件的漏洞,伪造一个图片文件,上传,文件的内容实际是一段HTML代码,内嵌JS,这样其他用户在访问这个链接时,就可能触发XSS漏洞。
Drupal 的图片默认存储位置为 /sites/default/files/pictures//,默认存储名称为其原来的名称,所以之后在利用漏洞时,可以知道上传后的图片的具体位置,使用PoC上传构造好的伪造GIF文件
2.使用PoC构造样本并完成上传功能,第一个参数为目标IP 第二个参数为目标端口。
上传poc成功!
3.访问http://[ip]:8080/sites/default/files/pictures/2020-09(传poc的日期)/_0
(火狐和chrome自带xss过滤功能,验证存在时可使用 Edge 浏览器或者 IE 浏览器。
访问的图片名称为_0的原因是因为 Drupal 的规则机制,具体原理见https://paper.seebug.org/897/
4.移除环境
docker-compose down
漏洞利用poc:
参考thezdi/PoC的PoC。