近日,安全研究人员发现著名J2EE框架——Struts2存在远程代码执行的漏洞,Struts2官方已经确认该漏洞(S2-045),并定级为高危漏洞。

Struts2 的使用范围及其广泛,国内外均有大量厂商使用该框架。cve-2017-5638漏洞

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。(来源:百度百科)

漏洞描述使用Jakarta插件处理文件上传操作时可能导致远程代码执行漏洞。cve-2017-5638漏洞

漏洞影响攻击者可以通过构造HTTP请求头中的Content-Type值可能造成远程代码执行。

修复建议

1。 严格过滤 Content-Type 里的内容,严禁ognl表达式相关字段。

2。 如果您使用基于Jakarta插件,请升级到Apache Struts 2。3。32或2。5。10。1版本。
验环境

操作机:Windows XP

目标机:Centos 6。5

Struts版本:2。3。31

实验目的:

了解S2-045 Struts2远程命令执行漏洞危害

掌握检测修复S2-045 Struts2远程命令执行漏洞技术

实验文件:

poc。exe:本次实验漏洞验证的POC源码

SecurityFilter。class:本次实验漏洞修复脚本

实验内容

Struts

Struts是Apache基金会的一个开源项目,Struts通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

目前,Struts框架广泛应用于政府、公安、交通、金融行业和运营商的网站建设,作为网站开发的底层模板使用,是应用最广泛的Web应用框架之一。

cve-2017-5638漏洞介绍 

Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于Jakarta插件的文件上传功能时,有可能存在远程命令执行,导致系统被黑客入侵。

恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。

影响范围

Struts 2。3。5 – Struts 2。3。31 Struts 2。5 – Struts 2。5。10

不受影响的版本

Struts 2。3。32 Struts 2。5。10。1

快速检测方式

使用知道创宇SeeBug照妖镜可以直接检测站点是否存在本漏洞

漏洞危害

在default。properties文件中,struts。multipart。parser的值有两个选择,分别是jakarta和pell。其中的jakarta解析器是Struts 2框架的标准组成部分。默认情况下jakarta是启用的,所以该漏洞的严重性需要得到正视。

恶意访问者可通过远程命令注入执行,令系统执行恶意命令,导致被黑客入侵,从而威胁服务器安全,影响极大。

实验步骤

快速查找实验工具

打开桌面 Everything 搜索工具,输入实验工具名称,右击选择“打开路径”,跳转实验工具所在位置。

以查找Burp为例为大家演示。

Alt text

小i提示:

在本次实验中,请注意实验工具、实验文件存放路径,不同的文件路径可能会出现不一样的实验结果。

在实验环境中无法连接互联网,请使用您本地的网络环境。

在本次实验中所使用的ssh连接工具和文件传输工具不唯一,请根据自身情况选则工具。

上一篇:圆周率完整版可复制
下一篇:摩托车化油器调整方法及技巧

计划生育政策造成的问题...

Struts的s2-045漏洞原理拿shell

允许traceroute探测漏洞

s2-045代码执行漏洞分析s2-045

MS08-067漏洞原理及利用方法MS08-067

磁流变液可控阻尼离合器的设计+CAD图纸

陶渊明赠答诗与嵇康赠答诗文献综述

關于民办高校人才队伍建...

17岁學生怎么兼职赚钱,...

小學生语文學习兴趣的激发与培养【2255字】

浅谈地质灾害及其分布规律【2498字】

crm成功案例分析crm成功案例

学院教职工体育活动现状调查问卷表

股票个别风险和预期收益率的关系

浅谈全球价值链视角下传...