0


Apache Struts2 S2-045远程命令执行漏洞(CVE-2017-5638)复现

漏洞详情:

Apache Struts2是Apache项目下的一个web 框架,帮助Java开发者利用J2EE来开发Web相关应用。

Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。

影响版本:

Struts 2.3.5 – Struts 2.3.31

Struts 2.5 – Struts 2.5.10

漏洞判定:

一、是否受影响版本。

漏洞验证:

一、环境搭建

靶机参数:Centos8.1

靶机配置:Docker

靶机容器:vulhub/struts2:2.3.28

攻击机参数:Kali(或安装有msfconsole的任意Linux/Windows操作系统)

从docker仓库中获取受影响版本的Struts2:

靶机Docker中下载受影响的Struts2容器:

docker pull vulhub/struts2:2.3.28

靶机Docker中部署容器Struts2,并将Struts2的8080端口绑定到本机的7080端口上:

docker run -tid -p 7080:8080 vulhub/struts2:2.3.28

结果验证:

二、漏洞复现

打开msfconsole并搜索CVE模块:

search CVE-2017-5638

加载模块并查看模块参数:

配置参数:

执行并反弹Shell:

漏洞修复及建议

一、修复方式: 升级Apache Struts版本至 2.3.32 or 2.5.10.1以上。

二、修复建议:在网络防护设备上配置过滤包含如下:

**#nike='multipart/form-data' **

以及

#container=#context['com.opensymphony.xwork2.ActionContext.container'

字段串(及相关字符转义形式)的URL请求。

标签: apache struts 安全

本文转载自: https://blog.csdn.net/qq_40640917/article/details/129175126
版权归原作者 幻梦聚沫散 所有, 如有侵权,请联系我们删除。

“Apache Struts2 S2-045远程命令执行漏洞(CVE-2017-5638)复现”的评论:

还没有评论