泛微E-cology任意文件上传
这是一个“偶遇”泛微任意文件上传的故事。
故事起源
访问泛微安全补丁页面发现泛微ecology五月十一号更新了一个补丁,主要包括三个内容:
- fastjson升级至1.2.68版本;
- 安全补丁包性能优化;
- 修复一些安全隐患;
看到修复一些安全隐患,那么代表肯定有安全漏洞!
漏洞发现
下载最新补丁分析之后,发现一个有趣的文件:uploadOperation,根据名称可以大概知道是一个上传的功能点,补丁包里面的uploadOperatio文件改成了直接输出error。
1 | out.println("error"); |
根据名称和文件内容,猜测这个功能在之前的版本存在文件上传。翻出之前的版本查看uploadOperation文件,发现uploadOperation功能极其简单:根据请求包的上传请求,将文件保存在page/exportImport/fileTransfer目录下。并且在前后翻了许多遍,根本没有任何的过滤、校验!
漏洞验证
根据功能,构造一个文件上传的请求进行验证,发现可以直接上传jsp类型文件。
shell
漏洞危害
一开始理解该功能是需要登录才能使用,后面通过fofa搜索发现有某些版本可以不需要登录直接访问!!!代表该问题是一处没有任何限制的任意文件上传!!!
page/exportImport/uploadOperation.jsp