Struts2:搭建Struts2环境

深入解析Struts2 S2-061漏洞:从环境搭建到实战利用 本文深入解析了Struts2 S2-061漏洞(CVE-2020-17530),该漏洞是S2-059修复不彻底导致的OGNL表达式远程命令执行绕过。文章从漏洞原理、利用链分析入手,详细指导读者使用Vulhub一键搭建漏洞复现环境,并逐步演示从漏洞探测到命令执行、反弹Shell的完整实战利用过程,最后提供了升级修复与安全加固建议。 阅读详情

搭建Struts2环境时,一般需要做以下3个步骤:

  1. 找到开发Struts2应用需要使用到的jar文件
  2. 编写Struts2的配置文件
  3. 在web.xml中加入Struts2 MVC框架启动配置

1.下载struts2完整包
注: 不要全选所有的包拉到web-inf的lib目录下,因为有些牵扯到和第三方框架插件包,但是本身没有提供第三方框架的类,会报找不到第三方框架类的错误。

只需要拉必要的几个JAR包即可。
struts2-core-2.3.16.1.jar: Struts2框架的核心类库
xwork-core-2.3.16.1.jar: XWork类库,Struts2在其上构建
ognl-3.0.6.jar:对象图导航语言(Object Graph Navigation Language),Struts2框架通过其读写对象的属性
freemarker-2.3.19.jar:Struts2的UI标签的模版使用FreeMarker编写
commons-logging-1.1.3.jar:ASF出品的日志包,Struts2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录
commons-fileupload-1.3.1.jar:文件上传组件
commons-lang3-3.1.jar

2.编写Struts2的配置文件
Struts2默认的配置文件为struts.xml
配置模板如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

可以在apps的例子中进行拷贝

3.在web.xml中加入Struts2 MVC框架启动配置
在struts1中,struts框架是通过Servlet启动的。在struts2中,struts框架是通过Filter启动的。
同样我们可以在apps的例子中拷贝web.xml

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

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。
注意:struts2读取到struts.xml的内容后,以javabean形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml文件

检验环境是否配置正确,启动服务器,若没有报错怎么证明配置完成。
报错,百度相应错误,进行导JAR包等。

Struts2漏洞全解析:从环境搭建到漏洞复现的完整指南 本文深入解析Struts2框架的安全漏洞,从环境搭建到漏洞复现的全过程。通过详细的环境配置、OGNL表达式注入原理分析及漏洞利用链构造,帮助安全研究人员全面掌握Struts2漏洞的攻防技术,提升Web安全防护能力。 阅读详情

相关推荐

NRF52832调试方法1——HardFault_Handler问题定位

一、遇到问题 keil debug模式下,直接点击全速运行(Run)发现程序卡死,点击stop按钮后,停到了HardFault_Handler位置,如下图所示。 此时使用navigate backwards(蓝色左箭头)是无效的,找不到程序卡在哪里。 二、解决办法 此时首先观察register窗口 若Stack为MSP,则复制R13(SP)的值到memory观察窗的地址搜索栏。每一行显示连续的28个地址上的存储信息,每个地址上存有一个字节。 从第21个位置起的连续四个字节是LR的值,

小梁的博客 3651

struts2(s2-001)远程代码执行漏洞docker&&vulhub复现

struts2(s2-001)远程代码执行漏洞docker&&vulhub复现

qq_43455259的博客 3174

告别实车测试:手把手教你用Vector VT平台搭建OBC/DCDC的HIL测试台架

本文详细介绍了如何利用Vector VT平台搭建新能源汽车OBC/DCDC的HIL测试台架,涵盖硬件选型、模型部署到自动化测试的全流程。通过HIL仿真测试技术,工程师可以高效验证动力域关键部件,大幅缩短开发周期并降低成本,特别适合新能源汽车三电系统的开发验证。

weixin_42659194的博客 341

struts2环境搭建步骤

struts2   一个基于Xwork的MVC框架 Xwork 是一个命令模式框架 是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能: 前端拦截机(interceptor), 运行时表单属性验证,类型转换, 强大的表达式语言(OGNL – the Object Graph Notation Language), IoC(Inversi

豆腐工坊的专栏 354

Go-zero微服务实战:从零搭建电商用户系统(含完整代码示例)

本文详细介绍了如何使用go-zero框架从零搭建电商用户系统,包含完整的微服务架构设计、核心功能实现代码示例以及性能优化策略。通过分层架构设计、JWT认证、分布式锁等关键技术,实现高并发、高可用的用户系统,适用于电商平台开发。

weixin_29275257的博客 257

看完这篇爽文我终于学会了示波器(一)

示波器基础篇的介绍,希望对你有用,下次分享一下如何测试。

qq_45508321的博客 974

Struts2漏洞复现

1、搭建struts2漏洞环境 安装前的准备工作: # 安装git yum install -y git-core # 安装docker yum install -y docker-ce # 下载docker-compose wget https://github.com/docker/compose/releases/download/1.20.1/docker-compose-Linux-x86_64 chmod +x docker-compose-Linux-x86_64 mv

qq_27466929的博客 247

一文读懂 SAP BTP Application Router 的 Resource Files:从 xs-app.json 到本地开发的默认设置

本文详解SAP BTP中Application Router的资源文件配置与本地开发实践。核心包括:xs-app.json定义路由规则与安全策略,package.json声明依赖与启动脚本,resources/存放静态资源,default-services.json和local-destinations.json用于本地模拟云服务。文章通过真实案例展示如何配置静态资源直出、反向代理后端服务,并强调本地开发时的注意事项与常见问题解决路径。关键配置均提供示例代码,帮助开发者快速实现业务应用的部署与联调。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 180

Struts2的几个漏洞复现

将Content-Type: application/x-www-form-urlencoded改为Content-Type: application/xml。可通过注入OGNL语言进行命令执行。启用Struts REST插件并使用XStream组件对XML进行反序列操作时,未对数据进行有效验证,可进行远程代码执行攻击。(2) docker-compose up -d 启动。

Z_rr2004的博客 1291

“华为杯”研究生数学建模竞赛2017年-【华为杯】B题:面向下一代光通信的 VCSEL 激光器仿真模型

得出以下主要结论:在相同的偏置电流条件下,随着温度的升高,带宽的峰值向。在相同的温度下,随着电流的增大,带宽的峰值越小且曲线由波峰形状。方案,包括可能的数学公式,不同温度和偏置电流下的带宽响应曲线,并与问题。线,得出以下主要结论:在相同的偏置电流条件下,随着温度的升高,带宽的峰。在相同的温度下,随着电流的增大,带宽的峰值越小且曲线由波峰形状逐渐变得。得的激光器特性曲线和模型中仿真得到的特性曲线,之后,可以将两组曲线的差。说明的是,由于数值优化算法的成功与否很大程度上依赖于初始参数的猜测,参。

getusushu的博客 99

【STK】手把手教你利用STK进行导弹和反导仿真02 - STK/MMT模块01 导弹任务分析工具概述

种工具:导弹设计工具(Missile Design Tool,MDT )、导弹飞行工具(Missile Flight Tool,截弹,或者用内置拦截弹编辑器创建的个性化的拦截弹, IFT 能够对 ―一对一 ‖动能拦截。导设置系统参数, 并对其有效性进行验证, 画性能图,保证该设计是可行的。(SAIC)公司联合开发研制,极大扩展了 STK 原有的导弹对象的功能,能够精确仿真。IFT 能够对拦截飞机、 导弹、卫星等目标进行仿真和分析。(2)推进系统参数,包括推力,比冲,秒流量,推力持续时间,喷嘴出口面积,

weixin_44184852的博客 1881

如何搭建Struts2环境

第一步:加入jar包:把jar包加入到web应用的lib下面。 第二步:配置web.xml文件 &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javae...

qq_39093474的博客 397

内容审核与文本安全技术综述:检测、过滤与对齐

检测质量高度依赖数据。毒性/仇恨/冒犯语言检测领域形成了一批经典数据集,但它们的标签体系差异很大:例如 OLID(OffensEval)强调“是否冒犯—冒犯类型—目标对象”三层结构;HateXplain 在“hate/offensive/normal”三分类之外,还提供目标群体与人类标注的 rationale span;RealToxicityPrompts 则不做离散标签,而是用毒性分数来研究“模型续写时的毒性退化”。ACL 汇编。

nmdbbzcl的博客 1372

Struts2:搭建开发环境

先下好 Struts2,下载地址:http://struts.apache.org/ 搭建 Struts2 的环境:三步 1、加入 Jar 包:在你下载好的存储目录下,复制struts-2.3.15.3-all\struts-2.3.15.3\apps\struts2-blank\WEB-INF\lib 下的所有 jar 包到当前 web 应用的 lib 目录下。 例如我的是:D...

dgk96672的博客 185

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Struts2 第一章:搭建Struts2开发环境

Struts2概述        在Struts的官方网站上,写着下面两段话: Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the ful

语不惊人死不休 1761

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

一步一步学习struts2(1):搭建struts2开发环境

工欲善其事,必先利其器。在我们深入Struts2之前,我还是想废一些口舌来讲述一下开发环境的搭建。每个人都会根据自己的习惯来搭建自己的开发环境。开发环境是否便捷,也将直接影响开发的效率。所以对于开发环境已经非常熟悉的朋友可以直接忽略这篇文章。

Lue 1449

Struts2 环境的搭建及项目测试:

Struts2 环境的搭建及项目测试: 1.       搭建环境: 一.下载Jar包(D:\struts-2.1.8.1\apps(下的例子(struts2-blank-2.1.8.1)放到)(C:\apache-tomcat-6.0.30\apache-tomcat-6.0.30\webapps)开启服务器)在apache下的(C:\apache-tomcat-6.0.30\apach

huchunbin的专栏 748

搭建struts2框架的开发环境:

搭建struts2框架的开发环境: 1、创建javaweb工程 2、找到开发Struts2应用需要使用到的jar文件 struts2-core-2.3.1.1.jar:Struts 2框架的核心类库   xwork-core-2.3.1.1.jar:Command模式框架,WebWork和Struts2都基于xwork    ognl-3.0.3.jar:对象图导航语言(Object G

tfy1332的专栏 2932

struts2教程:1、介绍struts2及struts2开发环境的搭建

Struts2· Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别不是很大,但Struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点: 1 > 在软件设计上St

cheney521的专栏 769

day1:struts2环境搭建

文章目录创建Javaweb工程maven导入依赖修改web.xml文件 创建Javaweb工程 maven导入依赖 <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.10.1</version> </dependen

qq_35499838的博客 465

Struts2使用IntellijIDEA和maven管理:搭建开发环境

Struts2使用IntelljiIDEA和maven管理:搭建开发环境在对spring比较熟悉之后,决心学习一下另一个很流行的框架Struts2,奈何资料比较老旧,也没有采用maven和intellji配合的教科书,网上的几个教程说的不是很清楚导致遇到了一些困难,在经过了一天的尝试后,总结了搭建最基本的开发环境的流程(写该教程的时候是重新搭建了一遍且运行成功): Intellji IDEA14 m

灯下尘 4371

Struts2-Scan与漏洞环境搭建:完整测试环境配置教程

Struts2-Scan是一款功能强大的Struts2全漏洞扫描利用工具,能够帮助安全测试人员快速检测和验证Struts2框架中的各类高危漏洞。本教程将详细介绍如何搭建完整的Struts2漏洞测试环境,以及如何使用Struts2-Scan工具进行漏洞扫描与利用,让你轻松掌握Struts2漏洞的测试方法。 ## 一、Struts2-Scan工具简介 ### 1.1 工具功能特点 Struts2

gitblog_01128的博客 453

struts2.1笔记05:struts2开发环境的搭建

1.找到开发Struts应用需要使用到的jar文件. 首先我们要在myEclipse中新建一个Web Project,我们这里命名为"struts2".然后我们就要使用jar文件,具体如下: 下载struts的JAR包链接:http://struts.apache.org 解压下载之后的struts的jar包,然后依次找到上面提到jar,加入到WebRoot/WEB-INF/lib之...

weixin_30872789的博客 126

再读Struts2之二:环境搭建以及介绍

配置: pom.xml中追加如下依赖。 <dependency>   <groupId>org.apache.struts</groupId>   <artifactId>struts2-core</artifactId>   <version>2.3.14</version> </...

weixin_30421809的博客 95

IDEA 配置 Tomcat 运行 Struts2 项目:环境搭建与功能测试

通过以上步骤,您已成功在 IDEA 中配置 Tomcat 运行 Struts2 项目。环境搭建包括软件安装、服务器配置和项目创建;功能测试通过一个简单的动作验证了框架的正常工作。如果一切正常,您可以扩展项目,添加更多动作和业务逻辑。遇到问题时,参考 Tomcat 日志或 IDEA 的错误提示进行调试。

2501_94068366的博客 1528
上一篇: Struts2:第一个Struts2应用Hello world
下一篇: Struts2:Action配置中的各项默认值
minGW_Lee
博客等级 码龄11年 19粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值