7月17日,世界知名开源软件struts 2爆出了2个高危漏洞,这些漏洞可使黑客取得网站服务器的“最高权限”,从而使企业服务器变成黑客手中的“肉鸡”。 详细漏洞信息:) b! @6 u0 t" A3 v9 \% m
http://struts.apache.org/release/2.3.x/docs/s2-016.html
6 {# N* r* k' w) G4 _2 U& U
关于此漏洞,最好的解决方法当然是将struts2的jar包更新到最新版本。不过对于不同struts2版本,升级会引起一些包冲突。8 [9 U( X( z- u2 w6 z
4 l0 N- X/ J( F: S# a+ p* L. z
升级步骤:
; P8 V8 ]0 N, Q1.下载到的更新包中主要用到以下几个替换掉旧版本的:0 p( `! r3 ?( H0 B5 k! c! X/ f. f
commons-lang3-3.1.jar (保留原有的commons-lang.jar,因为升级后,org.apache.commons.lang.StringUtils类被 org.apache.commons.lang3.StringUtils替换了,所有要保留原有包): J4 n# Q. I4 g# B$ b: j6 a5 |3 c
javassist-3.4.GA.jar (新加包)( y$ R' `) R0 c' R& O; @4 l7 N
ognl-3.0.6.jar (替换旧版本)
8 N1 h9 K% ~" `6 [; ^struts2-core-2.3.15.1.jar (替换旧版本)0 g' S* X! D, l1 }
xwork-core-2.3.15.1.jar (替换旧版本)- Y, M/ f: y5 K
struts2-spring-plugin-2.3.15.1.jar(替换旧版本) # z$ Q$ [; V( p# O1 X2 t
2.如果原有spring包版本太低,如2.0,还需要升级spring包到2.5版本。
* N4 [2 D6 J9 gstruts2.1以下版本,需要检查struts的xml配置文件,type="redirect" 改为 type="redirectAction"。
, m8 m, b" ]0 x7 F0 [5 D3.修改 web.xml文件
; P; z5 t! W! u' Y将. c, W" u! c1 R2 z+ \$ Z8 E
4 u! W7 y. H% T# w
struts-cleanup
& ?+ l) s" [! ?# v! d/ j" Iorg.apache.struts2.dispatcher.ActionContextCleanUp
9 R+ i. `# y* ?: j0 {0 F( {; ?7 Y6 @& E) o5 x1 ?
* Z3 p( y; I5 Q3 k# k
struts-cleanup( `1 q# ]. e2 m* j; ^& n
& R3 c" T* A* z& @- ?1 o, Z
public class SqlFilter implements Filter {/ o0 D8 h; e# |, P
public static final Logger logger = Logger.getLogger(sun.reflect.Reflection.getCallerClass(1));- _8 m0 g* Q5 H4 B+ N) |( z
//需要过滤的post字符2 E" |' J" N- i/ M9 r! K
private static String sqlStr="',<,>,and,exec,insert,select, ,delete,update,count,*,%,chr,mid,master,truncate,char,like,declare,&,#,(,),,=,script, ' a9 `$ g$ Q* B
|