struts漏洞解决方法

来源:互联网 发布:淘宝一键模板 编辑:程序博客网 时间:2024/05/21 09:34
解决方案:
1、删除jar包
freemarker-2.3.8.jar               
 xwork-2.0.7.jar                                    
 ognl-2.6.11.jar                            
 struts2-core-2.0.14.jar                    
 struts2-jfreechart-plugin-2.0.11.jar       
 struts2-spring-plugin-2.0.11.jar
2、新增jar包
commons-lang3-3.2.jar                      
 freemarker-2.3.22.jar                      
 javassist-3.11.0.GA.jar                    
 ognl-3.0.14.jar                            
 struts2-config-browser-plugin-2.3.28.1.jar 
 struts2-core-2.3.28.1.jar                  
 struts2-jfreechart-plugin-2.3.28.1.jar     
 struts2-json-plugin-2.3.28.1.jar           
 struts2-spring-plugin-2.3.28.1.jar         
 xwork-core-2.3.28.1.jar      
3、修改web.xml文件
 将原先的过滤器配置
    
        struts2
        
            org.apache.struts2.dispatcher.FilterDispatcher
         
    
替换为
    
        struts2
        
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
         
    
4、修改struts.xml文件(可选)
 如果之前有模块的struts配置文件使用了动态代理,而且升级后之后还要继续使用这一特性,则要在struts.xml文件中,打开动态代理。配置入下:
 <constant name="struts.enable.DynamicMethodInvocation" value="true"/>


并同时修改模块的strutsxxx.xml文件中的写法,将原先的:        

<result name="add" type="redirect-action">msgShow_add?opType=add&amp;msgFlag=2&amp;msg=success</result> 

更改为:

<result name="add" type="redirectAction">msgShow_add?opType=add&amp;msgFlag=2&amp;msg=success</result>
  

5、升级后jsp页面中如果使用了自定义标签,如v_maxlength,v_minlength等,会由于不识别而报错。需要将struts2-core-2.1.1.jar中的几个文件,替换为原先老版本中的struts2-core-2.0.14.jar中的对应文件。因为原先的jar包中已经将这几个文件做了修改,添加了对这些自定义标签的支持。需要替换的文件如下:
 (1)struts2-core-2.1.1.jar解压后里面有个template目录,下面是标签的格式,你可以修改的 

标签定义的META-INF目录下,有个文件struts-tags.tld


(2)所有要修改的文件




0 0
原创粉丝点击