这篇文章主要介绍了Struts2 S2-016漏洞修复总结,需要的朋友可以参考下
Struts2的S2-016漏洞是之前比较重大的漏洞,也是一些老系统的历史遗留问题

此漏洞影响struts2.0-struts2.3的所有版本,可直接导致服务器被远程控制从而引起数据泄漏,影响巨大

漏洞修复总结有4种方式:

1、升级版本

这也是Apache官方给出的建议,把Struts2的版本升级到2.3.15以上的版本,这种方式只需要替换一些jar包,归纳如下:

commons-lang3-3.2.jar
freemarker-2.3.22.jar
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-core-2.3.24.jar
struts2-spring-plugin-2.3.24.jar
xwork-core-2.3.24.jar

只需要用上述jar包(版本可能会有差距)替换老系统中的旧版本jar包;

但是这种方式存在一定的缺陷,如果系统非常复杂,可能会有版本不兼容,jar版本冲突,导致系统功能不能 使用的情况;

2、覆盖JAR包



下载上述图片,把后缀名改为zip,把里面解压出来的三个文件夹添加到漏洞的系统的src目录下

然后再web.xml文件中添加代码:


<listener>
<listener-class>org.hdht.commonweb.listener.MyServletContextListener</listener-class>
</listener>

最后发布项目,重启服务器

3、修改Struts2的源码

找到项目中的struts2-core-2.2.3.jar,反编译得到源码,在eclipse中新建一个java项目,把反编译的源码导进去

修改orgapachestruts2dispatchermapperDefaultActionMapper.java这个文件中的handleSpecialParameters方法

在while循环(for循环)中加入下面代码:


if (key.endsWith(".x") || key.endsWith(".y")) {
key = key.substring(0, key.length() - 2);
}


保存,这个新项目可能会有错误,需要导入两个jar包,xwork-core-2.1.6.jar和servlet-api.jar

把这个新项目导出成jar包,把下图中的7个类,替换掉原先struts2-core-2.2.3.jar中的7个类


4、结合上面的第2和第3种方式

还是需要用到struts2的源码,同第3步,反编译得到源码,导入到一个新的项目中

下载第2步中的压缩包,解压之后得到三个文件,把这三个文件夹添加到新项目的 orgapachestruts2dispatchermapper包中,如下图



然后,再修改orgapachestruts2dispatchermapperDefaultActionMapper.java这个文件中的handleSpecialParameters方法

在while循环中加入如下代码:


if (JavaEEbugRepair.repair_s2_017(key)) {
return;
}
if ((key.contains("action:")) || (key.contains("redirect:")) || (key.contains("redirectAction:"))) {
return;
}


保存,把新项目导出成jar包

把原来jar中的7个类替换,加入新包repair,再把替换之后的jar复制到项目中,替换之前的jar包

总结:

以上4种方式基本能处理所有项目的S2-016漏洞;
最新资讯
历经行业洗牌 可穿戴设备何时告别野蛮生长

历经行业洗牌 可穿戴

2019年三季度全球可穿戴设备出货量总计达8450万台,同比
商家“错峰出行” “双12”何以为继

商家“错峰出行” “

“双11”与“黑五”的余温犹在,“双12”便接踵而至。尽
苹果正式发布iOS 13.3:优化无线充电增加家长控制

苹果正式发布iOS 13.3

本次更新除了一般的改进和错误修复,在iPhone和iPad的“
直播带货全面爆发 但明星带货不等于带货明星

直播带货全面爆发 但

直播电商在3年内实现了电视购物10倍以上的行业规模,201
彩电公司改名容易改命难

彩电公司改名容易改命

小米拿下国内彩电出货量冠军,而一些彩电上市公司却忙着
诺奖得主吉野彰:锂电十年内仍将主导电池产业

诺奖得主吉野彰:锂电十

锂离子电池未来10年仍将主导电池行业,人工智能、物联网
最新文章
世界顶尖的[白帽子] 全球TOP7 漏洞猎人

世界顶尖的[白帽子]

未来的互联网最重要的不是速度,不是容量,而是安全。黑客
支付宝花呗(mm)套(gg)现隐患多多 骗子已经形成产业链

支付宝花呗(mm)套(gg)现隐患多

支付宝花呗是支付宝提供的第三方信用平台,根据你的消费
域名安全指数提高N倍的七个技巧

域名安全指数提高N倍

域名安全问题是非常重要的一个问题,关乎它的主要因素是
网警叔叔讲那些年经历过的奇葩DDoS案例

网警叔叔讲那些年经历

型网络犯罪、新的应用方法层出不穷,当网警这5年,太挑战
VPN帮你翻墙?还是先顾着自己的隐私再说吧

VPN帮你翻墙?还是先顾

中国的互联网并不是真正开放的互联网,有时候很多人耐不
恶意软件随处传播 企业该怎么做好安全防御

恶意软件随处传播 企

随着互联网时代的飞速发展,智能手机和平板电脑很快的融