Struts2 S2-016漏洞修复总结

所属分类: 网络安全 / 业界动态 阅读数: 182
收藏 0 赞 0 分享
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项目,把反编译的源码导进去

修改org\apache\struts2\dispatcher\mapper\DefaultActionMapper.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步中的压缩包,解压之后得到三个文件,把这三个文件夹添加到新项目的 org\apache\struts2\dispatcher\mapper包中,如下图



然后,再修改org\apache\struts2\dispatcher\mapper\DefaultActionMapper.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漏洞;
更多精彩内容其他人还在看

安卓7.0解决部分勒索软件问题 安卓7.0包含正义代码

有一天打开电脑,发现电脑已经被锁住,窗口弹出说明:如果你不给钱,就把你的电脑清空,这就是遇到了勒索软件。近年来,这种勒索已经频频出现在安卓手机上,手机里的重要资料可能比电脑里还多,这时候怎么办,真的不得不给它钱?安卓7.0的发布,带来了正义的守护
收藏 0 赞 0 分享

乌云漏洞平台被连锅端?互联网安全缺失的到底是什么

还记得我们之前说过的有个白帽子提交了世纪佳缘的漏洞然后被世纪佳缘告了的事情吗?这件事情引起了国内很多白帽黑帽的关注,如今事情又发酵,中国最大的两大漏洞平台——乌云和漏洞盒子同时出现状况。我们想看到这方面的监管和立法能跟上时代,仅此而已
收藏 0 赞 0 分享

struts2安全漏洞分析

Struts2是apache项目下的一个web 框架,普遍应用于阿里巴巴、京东等互联网、政府、企业门户网站
收藏 0 赞 0 分享

Struts2 S2-016漏洞修复总结

这篇文章主要介绍了Struts2 S2-016漏洞修复总结,需要的朋友可以参考下
收藏 0 赞 0 分享

世界顶尖的[白帽子] 全球TOP7 漏洞猎人

未来的互联网最重要的不是速度,不是容量,而是安全。黑客这个词很多人已经耳熟能详,虽然他们是一群神秘的人,但不能判断他们是不是好人,越厉害的往往威胁越大。其实有一群厉害的好人,他们就是“白帽子”,中国之前被告的那个,就是白帽
收藏 0 赞 0 分享

支付宝花呗套现隐患多多 骗子已经形成产业链

支付宝花呗是支付宝提供的第三方信用平台,根据你的消费购物信用给你透支额度,给很多不想办信用卡的人带来了很多方便,但是,最近出现的利用花呗套现的人,却在不知不觉中跌入了骗子的陷阱
收藏 0 赞 0 分享

微软紧急安全公告 当心SQL攻击爆发

就在前不久微软给出了修复IE危急安全漏洞的补丁,今天,微软又发布了新的安全公告,提醒广大用户在SQL服务器数据库软件中存在一个严重的漏洞——存在于一个名为 “sp_replwritetovarbin”的储存程序中,该漏洞会影响到Mi
收藏 0 赞 0 分享

腾讯新漏洞?绕过加密QQ空间

 相信有很多网友都在使用QQ空间,可以利用QQ空间来记录自己的心情。但有的时候自己的QQ空间并不想让其他人知道,那么就需要在QQ空间上设置权限或密码,只有有权限或知道密码的网友才能查看自己的QQ空间。   但现在要小心了,有一款名字为“风很凉QQ加密空间日志查
收藏 0 赞 0 分享

互联网老兵谈中国黑客史:放弃理想而追逐短利

  5.19断网事件后,对黑客的系列报道重新引发了人们对中国黑客的思考。应网易科技之邀,且和“道上”的朋友为多年深交,撰写“中国黑客史”一文,希望还原一个真实的中国黑客世界。   “黑客”一词来源于英语动词
收藏 0 赞 0 分享

木马病毒产业链 木马制作和分销

无论通过哪种方式,从受害者账号里盗窃出来的虚拟物品最终都将在游戏里被兑换成最容易流通的虚拟物品,并转移到某个仓库账号以方便在类似淘宝、5173这样的虚拟交易平台上完成销赃,最终变成人民币。
收藏 0 赞 0 分享
查看更多