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

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

缺陷编号:wooyun-2014-050330

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

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

漏洞作者: wefgod

提交时间:2014-02-07 14:52

修复时间:2014-05-08 14:52

公开时间:2014-05-08 14:52

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

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

一处有点奇葩的文件上传………………

详细说明:

关键点:找到路径、绕过某个无聊的if判断。需要管理员权限

漏洞证明:

jis/manage/sys/opr_logo.jsp

String strLoadPath = request.getSession().getServletContext().getRealPath("/front");
Convert.createDirectory( strLoadPath + "/tmp/" );
CommonUploadFile upload = new CommonUploadFile( strLoadPath +"/tmp", "");


路径在front下的tmp文件夹
接着看:

if(strFileName.toLowerCase().endsWith("gif")||strFileName.toLowerCase().endsWith("jpg")){
//修改文件名
file = new File( strLoadPath + "/tmp/" + strFileName );
fileNew = new File( strLoadPath + "/logo/t_logo.gif" );
if(fileNew.exists())
fileNew.delete();
file.renameTo( fileNew);
}


这段if是我们要绕过的,为什么呢?因为只要是后面3位字符是gif或jpg,他就会将文件重命名!修改为t_logo.gif
如果我们不是这3个字符结尾的话,就不会重命名!也就是说,可以直接上传jsp文件,找到路径就可以了!在tmp文件夹下他不会重命名文件的。感觉很神奇

image069.png


直接改包传jsp文件即可:
比如我们上传code.jsp,上传后的路径为jis\front\tmp\code.jsp

image070.png

修复方案:

厂商已知

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

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

厂商回复:

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

最新状态:

暂无


漏洞评价:

评论

  1. 2014-05-08 15:37 | neal ( 普通白帽子 | Rank:219 漏洞数:23 )

    我很想知道 那里找到源码的