首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
struts2漏洞修复办法
简介: struts2漏洞被爆以来各路神仙度过了艰难的日子,据说就连淘宝、京东、apple、联通等大型企业都未能幸免,可以说这次的漏洞危害空前,可以说struts2漏洞的爆发互联网企业在自主研发上有更近了一步。

废话不多说,strtus2漏洞原理以及遍地都是了,我就不介绍了,我只在struts-2.2.3测试过确实令我震惊!

提供利用代码供大家测试学习,对于个人利用代码产生不良后果,后果自负!与本站和我都没有半点关系!

 

测试代码:

http://127.0.0.1:8080/ProjectName/actionName.action?s_id=3&redirect:${%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{'calc'})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew%20java.io.InputStreamReader(%23b),%23d%3dnew%20java.io.BufferedReader(%23c),%23e%3dnew%20char[50000],%23d.read(%23e),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter()}

 

window环境将红色部分粘帖到项目的URL后面执行测试,如果发现计算器软件被打开那么你就需要修补该漏洞了!

 

上面的代码缩减为

http://127.0.0.1:8080/ProjectName/actionName.action?s_id=3&redirect:${%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{'calc'})).start()}

这样看你应该就更清楚了

 

修补办法经过测试,其实就是将strtus2升级到新版本,我将版本升级到struts-2.3.15后经测试改漏洞被修复。

 

 

停止应用将下面几个包替换掉原来的包可以让项目平稳过渡。

 

  1. struts2-core-2.3.15.1.jar
  2. struts2-dojo-plugin-2.3.15.1.jar
  3. struts2-json-plugin-2.3.15.1.jar
  4. struts2-spring-plugin-2.3.15.1.jar
  5. velocity-1.6.4.jar
  6. xstream-1.2.2.jar
  7. xwork-core-2.3.15.1.jar
  8. ognl-3.0.6.jar
  9. commons-lang3-3.1.jar

 

标红包为必换包,其他的包是为了使用了一些特性进行同步升级的。

 

替换包后删除缓存文件然后启动项目。

 

 

 

 

 

 

 

 

最近更新