struts2有漏洞是众所周知的、一直忙于项目没有时间升级、今天得空升级一下。不得不说 struts2 网站打开是极慢的:http://struts.apache.org/ 里面有Struts 2.3.20版本的文档、演示项目以及JAR包。
, a* p9 s* f' m# S7 N2 g3 m9 r下载下来 替换几JAR就ok了。1 n& l& T1 g: h" x2 o' l& e; N% t
9 F* X- E! e7 p( T B2 x, X5 \0 P3 k版本改进:3 n7 w8 ^" L0 W+ F, J4 h* \
Ø 合并后的安全修补程序版本中,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 ! v3 Q4 f+ Q( v, B+ W$ f4 r) `
Struts.xml :
8 \* _7 C. N1 N! G2 j- F$ E/ yStruts 2.3.20 配置文件新增加了参数为struts.excludedClasses,此参数为了严格验证排除一些不安全的对象类型。6 x4 |& K( k) p' A( Z: ?1 W
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" />
3 g& V t6 m7 R) e/ y# f) o' G; D 9 p7 r+ m6 f; |/ v1 Q* N9 o
value="^java\.lang\..*,^ognl.*,^javax.*" />+ Y; |/ k2 V9 N" H9 ?: U
“java.lang.Classs”值过滤struts标签中静态方法调用
N! A+ x7 F8 X+ ~7 r需要替换的重要jar包:
/ L. I; V7 N- a$ _ognl-3.0.6.jar
( J" h* R5 g n0 x& G; ostruts2-core-2.3.20.jar- Y* _/ z% H) D7 ^ S6 D6 U
struts2-json-plugin-2.3.20.jar/ S3 C6 K6 u& p' A6 I0 B
struts2-spring-plugin-2.3.20.jar% D2 {; N/ C" ^( j8 s+ m! F
xwork-core-2.3.20.jar# O* C& v4 X$ k$ d
struts.xml文件:, y% ~/ z( l+ w) n4 U
修改注释为2.3版本: o, t2 Q8 V1 G, R9 x6 v2 Q$ h, C
- <!DOCTYPE struts PUBLIC
. V7 F# \$ T4 l7 S/ n% X - "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
* H1 T8 X) ?* y$ ^; l' [% B - "http://struts.apache.org/dtds/struts-2.3.dtd">
复制代码
Struts 2.3.20版本JAR.zip
(1.55 MB, 下载次数: 1)
1 \" ~+ ^' z/ O7 l
; l8 m8 X$ ?/ T3 M9 {- B* o8 [8 Xstruts-2.3.20-all文档以及演示项目; ]* K2 T) n) \) ^! Q* v- g8 O6 P8 R+ W
; O! \0 i% B$ u# Q
|