struts修复GetShell漏洞,将2.1.8.1升级至2.3.28

struts2.1.8.1升级至2.3.28步骤:

Apache Struts 2是世界上最流行的Java Web服务器框架之一。然而不幸的是,有安全研究员在Struts 2上发现了一枚远程代码执行漏洞。 目前Apache官方已发布公告,该漏洞危险级别为高危。

正好手上有个项目的Struts版本较低,存在该漏洞,于是记录下来:

  • JAR包修改:
    – 新增jar包
     javassist-3.11.0.GA.jar
     asm-3.3.jar
     asm-commons-3.3.jar
     asm-tree-3.3.jar
     
    – 更新jar包
     commons-fileupload-1.2.1.jar —-> commons-fileupload-1.3.1.jar
     commons-io-1.4.jar —-> commons-io-2.2.jar
     commons-lang3-3.1.jar —-> commons-lang3-3.2.jar
     commons-logging-1.1.1.jar —-> commons-logging-1.1.3.jar
     freemarker-2.3.16.jar —-> freemarker-2.3.22.jar
     ognl-2.7.3.jar —-> ognl-3.0.13.jar
     struts2-convention-plugin-2.1.8.1.jar —-> struts2-convention-plugin-2.3.28.jar
     struts2-spring-plugin-2.1.8.1.jar —-> struts2-spring-plugin-2.3.28.jar
     struts2-core-2.1.8.1.jar —-> struts2-core-2.3.28.jar
     xstream-1.3.1.jar —-> xstream-1.4.8.jar
     xwork-core-2.1.6.jar —-> xwork-core-2.3.28.jar
     
     – json相关
     json-lib-2.1.jar —-> json-lib-2.3-jdk15.jar
     struts2-json-plugin-2.1.8.1.jar —-> struts2-json-plugin-2.3.28.jar
     struts2-junit-plugin-2.1.8.1.jar —-> struts2-junit-plugin-2.3.28.jar

  • 修改文档类型声明:
     – struts.xml的文档类型声明修改:
     原来:

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
        "http://struts.apache.org/dtds/struts-2.1.dtd">

    现在:

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 
        "http://struts.apache.org/dtds/struts-2.3.dtd">

   – strtus 2.3.15 版本后, 默认是关闭DMI动态调用action 方法这个功能的.
   开启该功能需要在struts.xml中, 增加了下面的配置:

    <constant name="struts.enable.DynamicMethodInvocation" value="true" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值