admin 发表于 2015-3-17 13:09

Struts 2.1.6 升级到Struts 2.3.20版本

struts2有漏洞是众所周知的、一直忙于项目没有时间升级、今天得空升级一下。不得不说 struts2 网站打开是极慢的:http://struts.apache.org/里面有Struts 2.3.20版本的文档、演示项目以及JAR包。
下载下来 替换几JAR就ok了。

版本改进:
Ø合并后的安全修补程序版本中,2.3.16.1、 2.3.16.2、 2.3.16.3Ø扩展现有的安全机制来阻止访问给定的Java包和类ØRedirectResult 参数集合Ø在默认情况下,使 ParametersInterceptor 支持中文哈希键Øthemes.properties可以使用加载ServletContext 允许放在 WEB-INF 下或在类路径中的模板文件夹Ø新标记 datetextfieldØ只有缓存有效的 Ognl 表达式Ø自定义 TextProvider 可用于验证错误的模型驱动的行动Ødatetimepicker 的标签固定ØPropertiesJudge 删除和属性已签入 SecurityMemberAccessØ在 IBM JVM 资源重新加载工作Ø默认加载设置已被删除从 default.propertiesØcommons-fileupload.jar升级到版本 1.3.1 要修复潜在的安全漏洞Ø   标记组合属性可以使用表达式Ø解决 FastByteArrayOutputStream 中的无限循环问题ØLocalizedTextUtil 支持很多的类加载器Ø介绍了条例草案的材料 pomØdebug = browser|console 被迁移到 jQueryØstruts_dojo.js 被固定的Ø新增接口 org/apache/struts2/views/TagLibray,并且标记为 @Depreacted
Struts.xml :
Struts 2.3.20 配置文件新增加了参数为struts.excludedClasses,此参数为了严格验证排除一些不安全的对象类型。
            value="                java.lang.Object,                java.lang.Runtime,                java.lang.System,                java.lang.Class,                java.lang.ClassLoader,                java.lang.Shutdown,                ognl.OgnlContext,                ognl.MemberAccess,                ognl.ClassResolver,                ognl.TypeConverter,                com.opensymphony.xwork2.ActionContext" />

value="^java\.lang\..*,^ognl.*,^javax.*" />
“java.lang.Classs”值过滤struts标签中静态方法调用
需要替换的重要jar包:
ognl-3.0.6.jar
struts2-core-2.3.20.jar
struts2-json-plugin-2.3.20.jar
struts2-spring-plugin-2.3.20.jar
xwork-core-2.3.20.jar
struts.xml文件:
修改注释为2.3版本
<!DOCTYPE struts PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
      "http://struts.apache.org/dtds/struts-2.3.dtd">

struts-2.3.20-all文档以及演示项目

页: [1]
查看完整版本: Struts 2.1.6 升级到Struts 2.3.20版本