arow 您现在的位置: Yes!黑客联盟 >> 技术 >> 黑客技术 >> 黑客文献 >> 正文
专题栏目
ewebeditor jsp 1.4以下版本上传漏洞           
ewebeditor jsp 1.4以下版本上传漏洞
作者:YesHack.… 文章来源:YesHack.Com 更新时间:2008-12-2 8:20:50 【字体:

作者:诚妹[J.L.S.T]

漏洞存在于ewebeditor jsp版 1.4以下版本,漏洞有两个版本。

第一个是使用savefile.jsp来进行文件上传操作的,我们来看看其漏洞代码:

String sType = request.getParameter("type");      if (sType == null) {        sType = "";      }      String sStyleName = request.getParameter("style");      if (sStyleName == null) {        sStyleName = "";      }      String suploadDir = request.getParameter("dir");      if (sUploadDir == null) {        sUploadDir = "uploadfile";      }      String sAllowExt = request.getParameter("ext");      if (sAllowExt == null) {        sAllowExt = "";      }      int nAllowSize = 100;      if (request.getParameter("size") != null) {        nAllowSize = Integer.parseInt(request.getParameter("size"));      }      DiskFileUpload upload = new DiskFileUpload();      try {        List items = upload.parseRequest(request);        Iterator iter = items.iterator();        while (iter.hasNext()) {          FileItem item = (FileItem) iter.next();          if (!item.isFormField()) {            long sizeInBytes = item.getSize();            String sFileExt = this.getFileExt(item.getName());            if (sizeInBytes > nAllowSize * 1024) {             }            if (!this.CheckValidExt(sFileExt, sAllowExt)) {            }            StringBuffer newnewFile = new StringBuffer(this.getFileName() + "." +                                                    sFileExt);            String realPath=this.getRealPath(sUploadDir);            File uploadedFolder = new File(realPath);            uploadedFolder.mkdirs();            File uploadedFile=new File(realPath + newFile.toString());            item.write(uploadedFile);             response.sendRedirect("/supereditor/upload.jsp?action=success&file=" +                                  newFile.toString());          }        }      } 

从代码中可以看出,程序并没做任何上传过滤,这样我们就可以直接上传一个JSPShell了。

 

另一个版本可能是被人修改过,把代码转成了servlet,不能看到代码,但是利用方法却大同小异。我们先找一个1.4版本以下的ewebeditor JSP上传页面,选择好一个JSPShell。这个ewebeditor是没有提交按钮的,所以这里涉及到一个小技巧,就是在上传的对话框中敲下回车,大约过半分钟,就可以查看网页的源文件来寻找我们的Webshell了。

 


友情提示:如果您对本文章的内容存在疑问请到点此进入论坛进行讨论

文章录入:YesHack    责任编辑:YesHack.Com 
  • 上一篇文章:

  • 下一篇文章:
  •