禅道 小于12.4.2 文件上传漏洞 CNVD-C-2020-121325

漏洞描述

百度云安全团队监测到禅道官方发布了文件上传漏洞的风险通告,该漏洞编号为CNVD-C-2020-121325,漏洞影响禅道<=12.4.2版本。登陆管理后台的恶意攻击者可以通过fopen/fread/fwrite方法读取或上传任意文件,成功利用此漏洞可以读取目标系统敏感文件或获得系统管理权限。我们对漏洞进行了复现和分析,由于需要登录后台才可以利用,实际风险相对较低,建议受影响的禅道用户尽快升级到最新版。

影响版本

Note

禅道 <= 12.4.2版本

环境搭建

百度下12.4.2的禅道环境按步骤安装下载即可

禅道官方网站

调用接口查询版本信息

漏洞复现

Note

漏洞触发需要后台权限

根据漏洞描述查看修改后的代码片段

修改前

修改后

这里传入的参数为版本和link地址,然后base64解码,正则判断是否为httphttps协议,这里的正则过滤并不完整,所以可以绕过用于下载恶意文件

可以大写http或请求FTP来绕过正则

跟进一下parent::downloadZipPackage这个方法,跟着来到zentao\module\client\model.php文件中

可以简单看到这里获取link传入的文件名,通过fopen打开该文件,写入禅道目录www/data/client/version

查看一下有没有调用这个方法的地方

找到了download方法调用了这个漏洞点,所以我们有两种下载恶意文件的方法

首先先上传一个恶意文件,可以是FTP也可以是HTTP

例如我上传的文件URL为http://peiqi.tech/SHELL.php

请求地址则为

下载的目录地址为zentaopms\www\data\client\1

目录为version名称

成功上传webshell

漏洞利用POC

POC使用需要拥有后台Cookie

Last updated

Was this helpful?