1、前言



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

2、漏洞分析

下载12.4.3版本和12.4.2版本源代码进行对比,发现module/client/ext/model/xuanxuan.php新增了如下代码:

分析downloadZipPackage方法,该方法传入版本参数和link地址,将link地址base64解码,判断是否为http或者https协议,如果是则不通过,这里可以将link大写并进行base64编码来绕过,代码片段如图:

跟进parent::downloadZipPackage方法,文件module/client/model.php中,获取link传入的文件名,通过fopen打开该文件,写入禅道目录www/data/client/version参数/,如图:


后续找到/module/client/control.php文件中的download调用了漏洞方法,如图:

综合以上分析,可以构造利用请求获取webshell,如图所示:

访问上传文件的地址,如图:

3、修复建议



升级到12.4.3版本,安全版本下载地址:

https://www.zentao.net/download/zentaopms12.4.3-80272.html

声明:本文来自百度安全