金和oa协同管理平台(又称金和C6协调管理平台),共有20多个应用模块,160多个应用子模块,涉及的企业管理业务包括协同办公管理、人力资源管理、项目管理、客户关系管理、企业目标管理、费用管理等多个业务范围。
C6协同管理系统漏洞多到不行,远不止公开的那些漏洞,我就挑几个典型来分析下。
-
XXE漏洞
漏洞所在代码为JHSoft.Web.Message.dll
XmlDeal类中初始化方法为Page_Load,会接收输入流中的xml代码进行解析,且没有做鉴权
因此直接请求即可
POST /c6/JHSoft.Web.Message/XmlDeal.aspx HTTP/1.1
Host: xxxx
Content-Type: application/Xml
'
dnslog接收到请求信息
2.任意文件上传
这个漏洞因为没有前端代码,分析起来只能靠一半的猜解
漏洞URL路径为
/C6/JHSoft.Web.Portal/EditMain.aspx
///?id=1.aspx
漏洞代码在JHSoft.Web.Portal.dll的EditMain类中
该类初始化方法Page_Load接收两个参数add和id,add为文件保存路径,id为文件名
add不传参时默认保存路径为JHSoft.Web.PortalDefault
回到漏洞URL,访问/C6/JHSoft.Web.Portal/EditMain.aspx///?id=1.aspx
其中三个斜杠///,起到了权限绕过的作用,无需鉴权即可访问接口
传参id为1.aspx,使得最终保存文件名为1.aspx
在上方输入框中输入一句话,点击保存按钮(btn_save)后会调用对应的方法,即btn_server_click方法,保存文件到服务器
之后保存的shell地址就为
/C6/JHSoft.Web.Portal/
Default
///1.aspx/
连接即可
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
然后再调用了GetAppFlagById,继续传参
最后竟直接拼接在SQL语句中然后执行,造成SQL注入
END
原文始发于微信公众号(HackingWiki漏洞感知):金和oa协同管理平台历史漏洞分析三则
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论