7月17日,世界知名开源软件struts 2爆出了2个高危漏洞,这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。 详细漏洞信息:
; H9 T9 u- s1 `3 M0 { http://struts.apache.org/release/2.3.x/docs/s2-016.html1 ?: i6 N0 C1 Z4 b7 X
关于此漏洞,最好的解决方法当然是将struts2的jar包更新到最新版本。不过对于不同struts2版本,升级会引起一些包冲突。: m& U/ r) C0 u' W' Y8 t9 {3 p
2 V# D7 u ]3 ~7 v# a
升级步骤:
- X. [) x1 _# {7 T; J& o1.下载到的更新包中主要用到以下几个替换掉旧版本的:
* H. b" V# Q7 _; w9 acommons-lang3-3.1.jar (保留原有的commons-lang.jar,因为升级后,org.apache.commons.lang.StringUtils类被 org.apache.commons.lang3.StringUtils替换了,所有要保留原有包)$ f: H d' Q! v$ @5 S, q) I1 b
javassist-3.4.GA.jar (新加包): Z0 J' H( Y; ~& l* C8 I
ognl-3.0.6.jar (替换旧版本)
1 K5 S. w$ F8 ^! istruts2-core-2.3.15.1.jar (替换旧版本)
9 }3 g! m8 t8 K; Dxwork-core-2.3.15.1.jar (替换旧版本)7 s, n v ^$ c. f
struts2-spring-plugin-2.3.15.1.jar(替换旧版本)
1 [1 S& w, Y% O/ g" c, t% i8 Y2.如果原有spring包版本太低,如2.0,还需要升级spring包到2.5版本。7 B+ ]5 u+ o9 q
struts2.1以下版本,需要检查struts的xml配置文件,type="redirect" 改为 type="redirectAction"。
2 O. \7 `, F9 `0 g3.修改 web.xml文件, V% R* T$ ^* @, u
将
6 P! y5 J% S2 w, K9 W! w5 i) U
- I1 U4 B0 J; l% t6 q' kstruts-cleanup
5 L0 t @* u( S5 u6 V6 L0 H* e# morg.apache.struts2.dispatcher.ActionContextCleanUp
) C! a6 P5 d$ x) C* \1 ]
' u2 X# b4 W3 Y7 s5 ]; w$ E/ U0 R
% Q6 ^: Z3 y# I* X' ostruts-cleanup; _' c- h. R2 N
+ k- V5 b6 J, ?# O/ A5 I& Lpublic class SqlFilter implements Filter {! D/ h0 V0 f: U5 E8 }4 k
public static final Logger logger = Logger.getLogger(sun.reflect.Reflection.getCallerClass(1));7 i& [+ @% @9 t' W
//需要过滤的post字符) ]4 X1 U K( b
private static String sqlStr="',<,>,and,exec,insert,select, ,delete,update,count,*,%,chr,mid,master,truncate,char,like,declare,&,#,(,),,=,script, . m* c) g; k! ^/ ^2 H8 H
|