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

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

缺陷编号:wooyun-2014-050087

漏洞标题:大汉版通JIS统一身份认证系统后台文件上传漏洞及两处越权漏洞

相关厂商:南京大汉网络有限公司

漏洞作者: wefgod

提交时间:2014-01-30 11:23

修复时间:2014-04-30 11:24

公开时间:2014-04-30 11:24

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-01-30: 细节已通知厂商并且等待厂商处理中
2014-02-09: 厂商已经确认,细节仅向厂商公开
2014-02-12: 细节向第三方安全合作伙伴开放
2014-04-05: 细节向核心白帽子及相关领域专家公开
2014-04-15: 细节向普通白帽子公开
2014-04-25: 细节向实习白帽子公开
2014-04-30: 细节向公众公开

简要描述:

先祝大家马年吉祥!
说会到JIS,原本以为后台是限制得很死的,无法上传jsp,但是研究了下发现不是这样的……另外还有两处越权,打包发了。

详细说明:

后台文件上传,顾名思义还是需要有管理员的账户,或者确切的说,是需要有“有新建应用权限的账户”。这里用管理员权限来说明。
先看应用管理——新建

image057.png


直接看opr_application.jsp文件:

if(strFileName.toLowerCase().endsWith("gif") || strFileName.toLowerCase().endsWith("jpg")){//cmd.jsp(00)gif轻松过if
file = new File( strLoadPath + "/tmp/" + strFileName);
int m = strFileName.lastIndexOf(".");
strFileName = upload.getFormValue("vc_appmark")+(strFileName.substring(m,strFileName.length()));//cmd.jsp(00)gif,jsp(00)gif获取到了,写文件就截断了都。
fileNew = new File( strLoadPath + "/apppic/"+strFileName);
if(fileNew.exists())
fileNew.delete();
file.renameTo(fileNew);
bulidminpic.setNWidth(85);
boolean bl = bulidminpic.buildMiniature(strLoadPath + "/apppic/"+strFileName);


以上有两个傻逼地方:
1.用了endsWith(我00截断的话你只有这货肯定不行)
2.没有重命名(随机数化)
上传的时候文件名改为cmd.jsp(00)gif,中间的(00)就是00字节

image058.png


看上图下面部分就知道地址会自己返回。.jsp后面部分已经被截断了
附上shell截图:

image060.png

漏洞证明:

这里说两个越权。
随意注册一个用户
登录后访问如下页面:
http://management.ysx.gov.cn/jis/main/onlineuser.jsp?
可以直接看见当前登录的用户及对应的IP。
还有一个日志操作的:
http://management.ysx.gov.cn/jis/manage/log/opr_export.jsp

image053.png

修复方案:

越权的就不说了。文件上传那在判断后缀名的时候,严格一点,加上随机数最好(这个看实际,不能随意就乱做随机数)

版权声明:转载请注明来源 wefgod@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-02-09 09:13

厂商回复:

非常感谢您对大汉产品的关注以及对产品安全方面的指正,涉及问题已在新版本中修复。

最新状态:

暂无