2014-01-30:细节已通知厂商并且等待厂商处理中
2014-02-09:厂商已经确认,细节仅向厂商公开
2014-02-12:细节向第三方安全合作伙伴开放
2014-02-19:细节向核心白帽子及相关领域专家公开
2014-03-01:细节向普通白帽子公开
2014-03-21:细节向实习白帽子公开
2014-04-30:细节向公众公开
先祝大家马年吉祥!
说会到JIS,原本以为后台是限制得很死的,无法上传jsp,但是研究了下发现不是这样的……另外还有两处越权,打包发了。
后台文件上传,顾名思义还是需要有管理员的账户,或者确切的说,是需要有“有新建应用权限的账户”。这里用管理员权限来说明。
先看应用管理——新建
直接看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字节
看上图下面部分就知道地址会自己返回。.jsp后面部分已经被截断了
附上shell截图:
漏洞证明:
这里说两个越权。
随意注册一个用户
登录后访问如下页面:
http://management.ysx.gov.cn/jis/main/onlineuser.jsp?
可以直接看见当前登录的用户及对应的IP。
还有一个日志操作的:
http://management.ysx.gov.cn/jis/manage/log/opr_export.jsp
修复方案:
越权的就不说了。文件上传那在判断后缀名的时候,严格一点,加上随机数最好(这个看实际,不能随意就乱做随机数)
版权声明:转载请注明来源 wefgod@乌云 漏洞回应 厂商回应:危害等级:中
漏洞Rank:10
确认时间:2014-02-09 09:13
厂商回复:非常感谢您对大汉产品的关注以及对产品安全方面的指正,涉及问题已在新版本中修复。
最新状态:暂无