Apache Struts 2入门指南 作者:chszs,版权所有,未经同意,不得转载。 博主主页:http://blog.csdn.net/chszs 本文使用最新的Struts 2.3.24.1版,演示了怎样用Apache Struts 2构建最基本的Web应用。 3、导入Struts 2依赖包 项目pom.xml内容如下: <project xmlns="http://maven.<em>apache</em>.org/POM/4.0.0" xmlns:xsi="http://www.w3 DOCTYPE <em>struts</em> PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org >org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter>
filterStart 严重: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2 </filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter >/*</url-pattern> </filter-mapping> 使用Ctrl+Shift+T发现,存在该类,但是包路径不对,实际包路径为:org.apache.struts2.dispatcher.filter -- https://mvnrepository.com/artifact/org.apache.struts/struts2-core --> <dependency> <groupId>org.apache.struts </groupId> <artifactId>struts2-core</artifactId> <version>2.5.1</version> </dependency> 通过struts
热卖云产品年终特惠,2核2G轻量应用服务器7.33元/月起,更多上云必备产品助力您轻松上云
Apache Software Foundation 发布了一个安全公告 S2-062,以解决 Struts 2.0.0 到 2.5.29 版本中存在的一个远程代码执行漏洞;攻击者可以利用此漏洞来控制受影响的系统 对此,美国网络安全和基础设施安全局 (CISA) 也发布公告敦促组织查看 Apache 的公告,并尽快升级到最新的 Struts 2 补丁版本。 尽管 Apache 在 Struts 2.5.26 中解决了 2020 年所报告的漏洞,但研究人员 Chris McCown 发现,所应用的修复方案并不完整。 他向 Apache 报告称,“双重评估”问题仍然可以在 Struts 版本 2.5.26 及更高版本中重现。 作为解决措施,Apache 方面建议开发人员避免基于不受信任的用户输入在标签属性中使用强制 OGNL 评估,和/或升级到 Struts 2.5.30 或更高版本,以检查表达式评估是否不会导致双重评估。
点击关注公众号,Java干货及时送达 文 | 白开水 出品 | OSC开源社区(ID:oschina2013) Apache Software Foundation 发布了一个安全公告 S2-062 对此,美国网络安全和基础设施安全局 (CISA) 也发布公告敦促组织查看 Apache 的公告,并尽快升级到最新的 Struts 2 补丁版本。 尽管 Apache 在 Struts 2.5.26 中解决了 2020 年所报告的漏洞,但研究人员 Chris McCown 发现,所应用的修复方案并不完整。 他向 Apache 报告称,“双重评估”问题仍然可以在 Struts 版本 2.5.26 及更高版本中重现。 作为解决措施,Apache 方面建议开发人员避免基于不受信任的用户输入在标签属性中使用强制 OGNL 评估,和/或升级到 Struts 2.5.30 或更高版本,以检查表达式评估是否不会导致双重评估。
前两天接到阿里云那边的一个远程命令执行漏洞(S2-046)和(S2-45)的通知,上面说建议更新Struts2框架到最新版。 老项目没有用pom.xml管理jar包的,所以只好把Struts2的相关东西都给更新一下咯,在Struts2官网上查到目前最新(2019年12月)的是2.5.22,我先把官网上的示例下载下来,看看里面的
网安引领时代,弥天点亮未来 0x00漏洞简述 Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架。 Apache Struts于2020年12月08日披露 S2-061 Struts 远程代码执行漏洞,开发人员使用了 %{…} 语法,从而攻击者可以通过构Payload,从而造成远程代码执行。 0x01影响版本 Apache Struts2:2.0.0 - 2.5.25 0x02漏洞复现 漏洞项目 https://github.com/vulhub/vulhub/tree/master/struts2 %3d%23attr%5b%27struts.valueStack%27%5d).(%23potats0.setBean(%23stackvalue)).(%23context%3d%23potats0 0x03修复建议 升级到 Struts 2.5.26 版本 下载地址为: https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.26
/*jsp的上传(导入第三方upload.jar)*/ //用Apache的SmartUpload方式上传,共5部 //1.引入SmartUpload SmartUpload su = new SmartUpload 的上传与下载*/ /*struts1的上传:*/ //index.jsp中 <form action="upload.do" method = "post" enctype = "multipart/ 文件中 <<em>struts</em>-config> <form-beans> <! --这里用的动态表单--> <form-bean name="down" type="org.<em>apache</em>.<em>struts</em>.action.DynaActionForm"> <form-property --添加action级别的错误信息,默认上传容量是2M,超过则接收错误信息--> //struts.xml文件中 <package name = "etoak" extends = "<em>struts</em>-default
Versions Affected Struts 2.3.5 - Struts 2.3.31 Struts 2.5 - Struts 2.5.10 And you are using Jakarta based struts2默认使用Jakarta的common-fileupload文件上传框架(在struts2-core.jar中default.properties中可见struts.multipart.parser (#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())). (@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)). ---- Referer http://blog.nsfocus.net/apache-struts2-remote-code-execution-vulnerability-analysis-program
Versions Affected Struts 2.3.5 – Struts 2.3.31 Struts 2.5 – Struts 2.5.10 And you are using Jakarta based =cos # struts.multipart.parser=pell struts.multipart.parser=jakarta-stream # struts.multipart.parser= (#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())). (@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)). 不得不吐槽一下struts2在处理上传这块的问题真多,buildErrorMessage无处不在啊,只要有个异常都会是他来处理,懵逼呢~ ---- Solution 直接使用最新版struts2的jar
Versions Affected Struts 2.0.1 - Struts 2.3.33, Struts 2.5 - Struts 2.5.10 Description A possible Remote Vulnerability Environment 根据官方的漏洞表述,我们使用struts-2.5.10版本,写一个在FreeMarker中使用Struts2标签的ftl模板文件,功能比较简单获取name (@org.apache.commons.io.IOUtils@toString(#process.getInputStream()))} 我们知道在ftl模板里${···}本身就是ognl表达式,所以这个漏洞没有什么可以去分析的漏洞触发机制 ,不过作为struts2的ognl表达式执行漏洞学习案例还是不错的,很直接! 先看\org\apache\struts2\views\freemarker\ScopesHashModel.class,Struts2 Action get从前台获取到参数内容后,会先获得用户提交的参数名
Versions Affected Struts 2.1.2 - Struts 2.3.33, Struts 2.5 - Struts 2.5.12 Description 根据官方漏洞描述,Struts2 同时,官方的解决方案是将Struts2的版本升级至2.5.13 或 2.3.34,那么先对比一下官方的版本升级代码,发现struts-2.5-2.13\src\plugins\rest\src\main \java\org\apache\struts2\rest\handler\XStreamHandler.java对类进行了一些白名单处理。 而在struts2 rest-plugin 中的处理逻辑是判断content-type的内容,再调用对应handler.toObject方法对其进行实例化。 xml,这在xxlegend的分析POC中有体现,struts2官方发的相关缓解措施也是无效的。
如果你没有这些Jar文件,你可以到Struts官网上下载:http://struts.apache.org/。 DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http:/ /struts.apache.org/dtds/struts-2.0.dtd"> 2 <struts> 3 <package name="default" namespace="/" extends DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http:/ /struts.apache.org/dtds/struts-2.0.dtd"> 2 <struts> 3 <package name="default" namespace="/message
漏洞再现 Apache Struts 2昨日再曝远程代码执行高危漏洞S2-032 作为是世界上最流行的Java Web服务器框架之一,Apache Struts 2本次曝出的漏洞立即带来一波腥风血雨,乌云等漏洞平台瞬间被各种相关漏洞刷屏 腾讯云一键防御 漏洞曝出后,Apache Struts 2官方发布了新版本,Struts 2用户可以下载新版本进行升级修复,但修复期间,漏洞可能就已经被黑客利用。 腾讯云用户可以一键接入腾讯云WAF,即时开启防御,再慢慢升级后台Struts 2版本。 1漏洞描述 Struts2在开启动态方法调用(DMI)的情况下,可被实施远程代码执行攻击。 2影响版本 Struts 2.0.0 – Struts 2.3.28 3修复方案 接入腾讯云WAF,一键开启防御,腾讯云WAF已可拦截针对次漏洞的攻击,点击“阅读原文”接入。 官方升级包下载链接:http://struts.apache.org/download.html#struts-ga 腾讯云WAF简介 腾讯云安全WAF是一款通过对http请求的检测分析,为Web应用提供实时防护的安全产品
Struts 2.5.29 安全版本:Struts 2.5.30 补丁地址: https://struts.apache.org/download.cgi#struts2530 02 漏洞描述 近日, Apache官方发布了Apache Struts 2的风险通告,漏洞编号为CVE-2021-31805。 该漏洞是由于Apache对之前漏洞 CVE-2020-17530的修复不完整造成的,是之前修复的绕过。 Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。 03 解决方案 升级版本: 官方已发布新版本修复此漏洞,下载链接: https://struts.apache.org/download.cgi#struts-ga 参考链接: https://cwiki.apache.org
视图 标签库 控制器 action 模型层 ActionFrom JavaBean struts maven 安装 官网 : https://struts.apache.org/ idea新建web 项目 <dependencies> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2 DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> </struts> 此时 此时项目目录结构如下 [2019-03-23-18-11 "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <!
漏洞又来 继3月份曝出远程代码执行的高危漏洞后,Apache Struts 2昨日再曝远程代码执行高危漏洞S2-032。 作为是世界上最流行的Java Web服务器框架之一,Apache Struts 2本次曝出的漏洞立即带来一波腥风血雨,乌云等漏洞平台瞬间被各种相关漏洞刷屏,其中包括众多金融行业系统。 腾讯云一键防御 漏洞曝出后,Apache Struts 2官方发布了新版本,Struts 2用户可以下载新版本进行升级修复,但修复期间,漏洞可能就已经被黑客利用。 2影响版本 Struts 2.0.0 – Struts 2.3.28 3修复方案 接入腾讯云WAF,一键开启防御,腾讯云WAF已可拦截针对次漏洞的攻击,点击“阅读原文”接入。 官方升级包下载链接:http://struts.apache.org/download.html#struts-ga 腾讯云WAF简介 腾讯云安全WAF是一款通过对http请求的检测分析,为Web应用提供实时防护的安全产品
0x00 前言 Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web 应用的开源MVC框架,主要提供两个版本框架产品 : Struts 1和Struts 2。 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。 安全版本 Struts 2.3.32:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.32 Struts 2.5.10.1 :https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.10.1 欢迎大家分享更好的思路,热切期待^^_^^ !
>>>> 标签介绍 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。 Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用。 text name="%{#request.lan}">xxxxx</s:text> 上面两个标签name属性都存在问题 下面对i18n标签做分析 跟踪i18n标签name属性在代码中的处理: org.apache.struts2 java.util.HashSet"%> <%@ page contentType=”text/html;charset=UTF-8″ language=”java” %> <%@ taglib prefix=”s” uri=”/struts-tags
事件描述 监测发现,开源应用框架Apache Struts存在远程代码执行漏洞(CVE-2021-31805),攻击者可构造恶意的OGNL表达式触发漏洞,实现远程代码执行。 受影响版本为Apache Struts 2.0.0~2.5.29。目前,该漏洞已在Apache Struts 2.5.30版本中修复。 事件类型:漏洞利用 事件等级:高危 2. 影响范围 远程代码执行漏洞影响范围: 2.0.0<=Apache Struts <= 2.5.29 不受影响版本 Apache Struts >= 2.5.30 3.修补方案 目前漏洞细节和利用代码已公开 1)排查方法: 使用maven打包的项目可通过pom.xml查看当前使用的Struts2版本: 2)处置措施: 目前官方已发布修复补丁,可考虑业务影响性后展开补丁修复工作。 将Apache Struts版本提升至2.5.30 升级步骤以及遇到的问题见: Struts2升级2.5.30的那些坑 https://blog.csdn.net/weixin_44254243
2020年12月8日,腾讯云安全运营中心监测到,Apache Struts 官方披露了编号为S2-061的远程代码执行漏洞,CVE编号:CVE-2020-17530。 漏洞详情 Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架。 影响版本 Struts 2.0.0 - Struts 2.5.25 安全版本 Struts 2.5.26及更高版本 修复建议 1)避免不受信任的用户输入使用强制OGNL evaluation 2)升级到 Struts 2.5.26及更高版本 【备注】:建议您在升级前做好数据备份工作,避免出现意外 漏洞参考 https://cwiki.apache.org/confluence/display/WW/S2
云数据仓库Doris(cdwdoris)为您提供基于 MPP(大规模并行处理)架构的云端Doris托管服务,拥有开箱即用,弹性易扩展等特性。云数据仓库 Doris支持标准SQL语言,兼容MySQL协议,支持对PB级的海量数据进行高并发查询,和亚秒级的快速分析,帮助您轻松应对多种ETL数据处理和业务探索场景。
扫码关注腾讯云开发者
领取腾讯云代金券