关于struts2漏洞(升级struts到最新版本)
由于struts旧版本爆出多个高危漏洞,对于安全性考虑需对struts升级到最新版本。
升级过程中遇到很多坑,经过一段时间的盘查发现,其实这个升级很简单。
我升级的是struts2.5.16,当前官网里面的最新版,以后就不晓得了。。。。咳咳
第一步:找jar包,为什么要找jar包?因为我维护的是老项目,如果你的不是请看最下面。
这是一个很蛋疼的过程,因为看网上升级的方法,替换的jar包都不是很明确,五花八门。进过我逐一排查,反正试了蛮久,最后一下就搞定了。
替换的jar包如下
asm-5.2.jar asm-commons-5.2.jar asm-tree-5.2.jar commons-fileupload-1.3.3.jar
commons-io-2.5.jar commons-lang3-3.6.jar commons-logging-1.1.3.jar
freemarker-2.3.26-incubating.jar javassist-3.20.0-GA.jar log4j-api-2.10.0.jar
ognl-3.1.15.jar struts2-core-2.5.16.jar
删除原来的旧包同上,xwork-core-2.3.16.3.jar这个也需要一并删除,最新版集成了该jar包
第二步:修改web.xml
旧版中:路径如下
新版中:路径如下
将 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
替换成<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
第三步:修改struts.xml
1.改掉头部
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
2.将action设置动态访问
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
3.package后面加一个strict-method-invocation="false"
<package name="GameWebsite" namespace="/" extends="struts-default" strict-method-invocation="false">
三步做完了需要将tomcat里面的项目删除重新发布
页面访问如果可以访问后台则替换成功。
如果报错404,500,之类的,你需要跟据项目的结构替换jar包,或者增加配置,配置sturts.xml
struts升级很多坑,我也是从里面刚爬出来。爬出来发现,其实分分钟能搞定的事搞了这么久!!!
作者吐槽:老项目都会存在这个问题,那些自己导jar包的项目,如果你的项目使用了maven,那么就不会有这种麻烦了,直接改下版本号搞定!
关于struts2漏洞(升级struts到最新版本)相关推荐
- 生产环境openssl漏洞-升级openssl到最新版本
TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性. TLS, SSH, IPSec协商及其他产品中使用的DES及Triple DES密码存在大约四十亿块的生日界,这可使远程攻击 ...
- linux centos升级php_CentOS使用yum升级php到最新版本
CentOS的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到最新版本,比较常见的是升级到5.2.6版本 ...
- yum如何升级php,CentOS 5.3 通过yum升级 php到最新版本的方法
方法一 CentOS5.3的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到5.2.9,比较常见的是升级 ...
- pip show pip可以查看pip的版本以及升级pip到最新版本
输入命令:pip show pip可以查看pip的版本,如果不是最新版最后会有提示如下: 输入命令:python -m pip install --upgrade pip可以升级pip到最新版本.
- Linux升级gcc到最新版本gcc-11.2.0
Linux升级gcc到最新版本gcc-11.2.0 当前环境 更新方法 1. 下载最新的源码包并解压缩 2.下载依赖及配置文件 3. 配置 4. 编译 5. 安装 6. 验证gcc版本 7. 删除旧版 ...
- Linux升级gcc到最新版本--gcc-9.1.0
Linux升级gcc到最新版本–gcc-9.1.0详细步骤 一.下载gcc最新的源码包–>wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0. ...
- 升级bugzilla 到最新版本成功 bugzilla 3.2
升级bugzilla 到最新版本成功 bugzilla 3.2 Stable Release (3.2) Bugzilla 3.2 is our current stable release in t ...
- Struts2漏洞和Struts Scan工具实战
一.Apache Struts 2漏洞背景 1.漏洞详情 2017年3月6日,Apache Struts 2被曝存在远程命令执行漏洞.在使用基于Jakarta插件的文件上传功能条件下,恶意用户可以通过 ...
- linux docker升级,CentOS上面升级Docker到最新版本
一般我们用yum安装的docker版本是1.6或者1.7,我们要把docker升级到最新的版本. 首选我们验证一下系统里的docker版本[root@xiaohuai ~]# docker -v Do ...
最新文章
- Learn OpenGL (十一):光照贴图
- WINDOWS SERVER 2003从入门到精通之组策略应用
- 已解决:大家使用原子哥的延时函数delay_ms,delay_us会出现进入延时函数出不来的情况
- android 页卡切换实现,TabLayout+ViewPager实现选项卡切换效果
- 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套
- Android开发中调用Spring CXF整合发布的WebService接口为什么抛出异常错误?
- 唐宇迪学习笔记12:sklearn构造决策树
- 无人驾驶相关文献阅读体会
- 一套数据中心弱电系统安全运维服务方案,完整版素材!
- python 如何通过海表面高度数据计算海表地转流速、并绘制流线图
- cad相对坐标快捷键_cad 怎么用相对坐标
- 中国天气网-天气预报接口api
- redis mset是否具有原子性
- ecshop模板支持html,免费ecshop响应式设计手机wap自适应dossy整站模板
- su,su -,sudo
- cenos回到linux桌面快捷键,Centos桌面 快捷键
- 【计算机组成原理】计算机组成原理——计算篇
- dapr的consistent hash
- 「伯克利大学」 的计算机入门教程
- 计算机学院毕业礼物,“风里雨里,我们在这里等你“计算机学院举行毕业礼物赠予仪式...
热门文章
- android 支付吧 漏洞,趋势发现支付宝安卓版漏洞 建议尽快更新至最新版
- 【优化求解】基于吉萨金子塔建造优化算法 GPC求解最优目标matlab代码
- ADC-DAC知识体系--DAC性能指标
- 基线_【1040.】基线分析的3个终极目的
- opencv编译错误FFMPEG: Download failed: 6;“Couldn‘t resolve host name“
- MOS/CMOS集成电路简介及N沟道MOS管和P沟道MOS管
- Cygwin编程环境
- 使用百度地图绘制点、线、面 | Javascript
- xsi:noNamespaceSchemaLocation的解析
- 吴志祥php动态网页设计_PHP动态网页制作—毕业设计论文.doc