Struts 2 远程代码执行漏洞

版权声明:本文为博主原创文章,转载请注明原创链接! https://blog.csdn.net/qq_39112646/article/details/88764482

一:前言

Struts 2是一个基于MVC设计模式的Web应用框架,本质上相当于一个Servlet,在MVC设计模式中,Struts2作为控制器来建立模型与视图进行数据交互。

Struts2-045漏洞影响范围极大,设计到Struts2.3.5~Struts2.3.31,Struts2.5~Struts2.5.10等多个版本。漏洞编号S2-045 CVE编号(CVE-2017-5638)

攻击者通过发送恶意构造的HTTP数据包利用该漏洞(通过构造HTTP请求头中的Content-type)在服务器上执行系统命令,进一步完全控制该服务器,造成拒绝服务,数据泄露,网站篡改等后果。

该漏洞无需任何前置条件(如开启dmi,debug等功能),以及启用任何插件,危害较为严重。

二:创建靶机

这里使用Vulhub创建靶机

https://vulhub.org/#/environments/openssl/heartbleed/

创建成功之后在本机打开网站界面如下图所示

三 :测试靶机

https://www.exploit-db.com搜索可以利用的exp

执行下载好的exp(python2环境)

可以看出此时的用户为root,真实情况下一般都是Apache用户,不需要提权,可以执行任何命令

四:防范方法

打补丁可以,可能会出现其他的问题,建议直接下载最新版本的软件替换

https://struts.apache.org

下载解压缩后,替换到网站的原位置即可

猜你喜欢

转载自blog.csdn.net/qq_39112646/article/details/88764482