简介
Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,漏洞编号为CNNVD-201703-152。攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。
简单的重复造了一个轮子,网上很多工具都是有后门的
影响版本:Struts 2.3.5 - Struts 2.3.31,Struts 2.5 - Struts 2.5.10
仅供学习测试使用,严禁非法操作!
下载地址:s2-045.zip
修复建议:
1.很官方的解释 升级struts2版本
2.做过滤器
获取Content-Type的值,如果包含了某些特征进行过滤pass(治标不治本,有被绕过的可能,后来出现S2-046果然是这个)
类似:(网上随意找,仅供参考思路)
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,FilterChain chain) throws ServletException, IOException { String contentType=request.getContentType(); if(contentType!=null&&contentType.indexOf("ognl")!=-1){ //特征字符 System.out.println(contentType); return; }else{ chain.doFilter(request, response); } }
最靠谱的办法就是升级,升级升级。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论