黑客在什么地方接单?专业接单黑客联系方式

黑客在什么地方接单?专业接单黑客联系方式Struts2的S2-016漏洞是之前比较重大的漏洞,也是一些老系统的历史遗留问题 此漏洞影响struts2.0-struts2.3的所有版本,可直接导致服务器被远程控制从而引起数据泄漏,影响巨大 漏洞修复总结有4种方式: 1、升级版本 这也是Apache官方给出的建议,把Struts2的版本升级到2.3.15以上的版

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文件中添加代码:

复制代码代码如下:
 
org.hdht.commonweb.listener.MyServletContextListener 
 


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

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包中,如下图 


  • 发表于 2021-04-10 12:06
  • 阅读 ( 283 )
  • 分类:互联网

0 条评论

请先 登录 后评论
qv61707
qv61707

700 篇文章

你可能感兴趣的文章

相关问题