近期Struts2被曝重要漏洞,此漏洞影响struts2.0-struts2.3所有版本,可直接导致服务器被远程控制从而引起数据泄漏,影响巨大,受影响站点以电商、银行、门户、政府居多.
官方描述:
S2-016:https://cwiki.apache.org/confluence/display/WW/S2-016
S2-017:https://cwiki.apache.org/confluence/display/WW/S2-017
官方建议修复方案:升级到最新版本 struts-2.3.15.1
但通常现有系统升级,可能导致不稳定及与其他框架比如spring等的不兼容,成本较高。
鉴于此本人整理了一种既可以不用升级现有struts版本,有能完美解决这两个漏洞的方案,分享如下:
第1步.下载http://jskfs.googlecode.com/files/struts2_(016_017)_bug_repair.rar。
第2步.解压,将src目录中的所有文件,复制到自己项目的src目录中,编译通过
(本例struts是2.0.9版本,实际项目需要根据struts版本做适当调整).
应用服务器会优先加载class目录中的类,自动覆盖jar包中的类.
第3步.web.xml中配置com.htht.commonweb.listener.MyServletContextListener
<listener>
<listener-class>org.hdht.commonweb.listener.MyServletContextListener</listener-class>
</listener>
第4步.重启服务,修复完毕.
官方描述:
S2-016:https://cwiki.apache.org/confluence/display/WW/S2-016
S2-017:https://cwiki.apache.org/confluence/display/WW/S2-017
官方建议修复方案:升级到最新版本 struts-2.3.15.1
但通常现有系统升级,可能导致不稳定及与其他框架比如spring等的不兼容,成本较高。
鉴于此本人整理了一种既可以不用升级现有struts版本,有能完美解决这两个漏洞的方案,分享如下:
第1步.下载http://jskfs.googlecode.com/files/struts2_(016_017)_bug_repair.rar。
第2步.解压,将src目录中的所有文件,复制到自己项目的src目录中,编译通过
(本例struts是2.0.9版本,实际项目需要根据struts版本做适当调整).
应用服务器会优先加载class目录中的类,自动覆盖jar包中的类.
第3步.web.xml中配置com.htht.commonweb.listener.MyServletContextListener
<listener>
<listener-class>org.hdht.commonweb.listener.MyServletContextListener</listener-class>
</listener>
第4步.重启服务,修复完毕.