JAVA安全网JAVA安全网

生命不息,折腾不止。
--JAVA人自留地。

Apache Struts2 远程代码执行漏洞(S2-045)漏洞测试工具&解决方案

简介
Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,漏洞编号为CNNVD-201703-152。攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。


简单的重复造了一个轮子,网上很多工具都是有后门的 :)
1.png

影响版本: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);
    }
}

最靠谱的办法就是升级,升级升级。

未经允许不得转载:JAVA安全网 » Apache Struts2 远程代码执行漏洞(S2-045)漏洞测试工具&解决方案

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址