泛微E-cology任意文件上传

这是一个“偶遇”泛微任意文件上传的故事。

故事起源

访问泛微安全补丁页面发现泛微ecology五月十一号更新了一个补丁,主要包括三个内容:

  1. fastjson升级至1.2.68版本;
  2. 安全补丁包性能优化;
  3. 修复一些安全隐患;

看到修复一些安全隐患,那么代表肯定有安全漏洞!

漏洞发现

下载最新补丁分析之后,发现一个有趣的文件:uploadOperation,根据名称可以大概知道是一个上传的功能点,补丁包里面的uploadOperatio文件改成了直接输出error。

1
out.println("error");

根据名称和文件内容,猜测这个功能在之前的版本存在文件上传。翻出之前的版本查看uploadOperation文件,发现uploadOperation功能极其简单:根据请求包的上传请求,将文件保存在page/exportImport/fileTransfer目录下。并且在前后翻了许多遍,根本没有任何的过滤、校验!

漏洞验证

根据功能,构造一个文件上传的请求进行验证,发现可以直接上传jsp类型文件。

shell

漏洞危害

一开始理解该功能是需要登录才能使用,后面通过fofa搜索发现有某些版本可以不需要登录直接访问!!!代表该问题是一处没有任何限制的任意文件上传!!!

page/exportImport/uploadOperation.jsp