本文介绍struts2 2013年7月份高危漏洞的测试及快速解决方法
此次漏洞的严重性不言而喻,几乎所有所有struts2网站,项目无一幸免。
漏洞测试方法:
关闭项目所在linux服务器,在项目任意action地址后追加:
?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'shutdown','-h','now'})).start()}
快速修复方法:
- 登录Struts2官网,下载struts-2.3.15.1-all.zip;
- 从struts-2.3.15.1-all\struts-2.3.15.1\lib中拷贝出
(1)javassist-3.11.0.GA.jar(2)commons-io-2.0.1.jar(3)commons-lang3-3.1.jar(4)freemarker-2.3.19.jar(5)ognl-3.0.6.jar(6)commons-fileupload-1.3.jar(7)xwork-core-2.3.15.1.jar(8)struts2-core-2.3.15.1.jar(9)struts2-spring-plugin-2.3.15.1.jar注:保留原有的commons-lang-2.6.jar,其余的替换旧版本。(删除对应旧版本,然后将上述9个Jar包拷贝进去) - 重新编译。完毕!
如果所用版本与2.3.15.1相差较多,建议使用新包完全替换旧包。