文档章节

Struts2版本2.3.24升级2.5.10.1小结

p
 ppyang010
发布于 2017/03/27 10:04
字数 476
阅读 2288
收藏 1

因为Struts2 S2-045 Struts2 S2-046 漏洞问题 需要对struts2的版本进行升级

##首先进行jar替换 需要移除的jar包有
struts2-json-plugin-2.3.24
struts2-core-2.3.24
ognl-3.0.6
log4j-1.2.15
xwork-core-2.3.24

新添加的jar包如下 struts2-json-plugin-2.5.10.1
struts2-core-2.5.10.1
ognl-3.1.12
log4j-api-2.7
log4j-core-2.7
log4j-1.2-api-2.7

ps:xwork-core这个类库再新版本中已经包含在struts2-core中了
在新版本中struts2 使用的是log4j2 所以需要导入log4j-api-2.7log4j-core-2.7 这两个jar包 并且为了从log4j 平稳的过度到log4j2导入log4j-1.2-api-2.7 jar(避免修改代码) 并且新的日志规则由全新的log4j2.xml文件维护 代码如下 具体规则后续在添加

<?xml version="1.0" encoding="UTF-8"?>   
<configuration status="debug">   
  <appenders>   
  </appenders>   
  <loggers>   
    <root level="info">   
    <appender-ref ref="Console"/>
    <appender-ref ref="log"/>
    </root>   
  </loggers>   
</configuration>

##关于配置文件的改动 web.xml改动
原:

  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
  </filter>

新:

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        	org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
  </filter>

struts2的配置xml的改动
首先将xml的头修改为

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">

要注意因为2.5版本升级了很多特性,在Struts 2.5中,严格DMI被扩展,它被称为严格方法调用 又名SMI。你可以想象DMI是一个“边境警察”,SMI是一个“税务警察”,并注意内部。使用此版本,SMI默认情况下启用(strict-method-invocation属性默认设置为 true在 struts-default包中),您可以选择禁用它每个包 - 没有全局开关禁用整个应用程序的SMI。

因此在使用通配符的方式的情况下会显示404
所以要在sturts2的配置文件上修改
将strict-method-invocation="false" 设置为false
或者在package包中添加<global-allowed-methods>regex:.*</global-allowed-methods>

<package name="videoDetail" namespace="/videoDetail" extends="json-default" strict-method-invocation="false">
		<global-allowed-methods>regex:.*</global-allowed-methods>
		<action name="*" class="com.coder.video.action.VideoDetailAction" method="{1}">

更多特性需要参考官方文档 参考: http://www.tuicool.com/articles/vuimAjZ

© 著作权归作者所有

p

ppyang010

粉丝 3
博文 21
码字总数 13945
作品 0
杭州
程序员
私信 提问
用eclipse搭建struts2,运行tomcat9报错...求大神指点..我在MyEclipse上运行是没问题的,在下新手,不知道是少了jar包还是什么问题

信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in t......

编号404
2017/07/02
229
0
重大漏洞预警:Struts 2 远程代码执行漏洞(s2-045\s2-046) (含PoC)

背景介绍 近日,安全研究人员发现著名J2EE框架——Struts2存在远程代码执行的漏洞,Struts2官方已经确认该漏洞(S2-045,S2-046),并定级为高危漏洞。 Struts2 的使用范围及其广泛,国内外均...

局长
2017/03/21
11.2K
17
Apache Struts2(S2-045)漏洞反思总结

2017的3.8-3.9号,Apache Struts2出现漏洞,该漏洞影响范围广,危害级别高。轻则系统文件感染,严重则系统瘫痪。 国家信息安全漏洞库(CNNVD)收到关于Apache Struts2 (S2-045)远程代码执行...

任志远Ray
2017/03/10
0
0
Struts2远程代码执行漏洞(CNNVD-201703-152)最新漏洞

近日,国家信息安全漏洞库(CNNVD)发布了关于Apache Struts2 (S2-045)远程代码执行漏洞(CNNVD-201703-152)的情况。由于该漏洞影响范围广,危害级别高,国家信息安全漏洞库(CNNVD)对此...

amosguo
2017/03/09
1
0
ST2-045 For POC

转载请注明: 转载自Legend‘s BLog 本文链接地址: ST2-045 For POC 利用方法: 漏洞说明: Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于J...

apachecn_飞龙
2017/03/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ngrok 外网映射工具

ngrok介绍 许多刚学java web的同学(包括我自己)肯定都非常好奇,如何在外网上访问自己做的项目,跟我们本地访问tomcat有什么区别? 今天就向大家介绍一个非常强大的外网映射工具:ngrok.ngrok可以...

edison_kwok
44分钟前
2
0
Spark Streaming的优化之路——从Receiver到Direct模式

          作者:个推数据研发工程师 学长 1 业务背景 随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来...

个推
今天
4
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸中会阴熏蒸的神奇好处

聚结相合之处为会。会阴居两阴间,为督、任、冲三脉的起点,三脉背出两阴之间,会聚阴部,因名会阴。会阴,经穴名。出《针灸甲乙经》。会阴别名屏翳、下极、金门。属任脉。在会阴部,男性当阴...

公益传承
今天
2
0
pentaho-kettle-8.2.0.0-R源码开发环境搭建

1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-R 下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-R 2.打开eclipse,选择一个新的工作空间,然后设...

gq_2010
今天
1
0
lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部