java struts漏洞_【重大漏洞预警】Struts2远程代码执行漏洞(S2-053/S2-052)

原标题:【重大漏洞预警】Struts2远程代码执行漏洞(S2-053/S2-052)

Struts远程代码执行漏洞(S2-053)

一、漏洞详情

漏洞编号:CVE-2017-12611

漏洞等级:中级

受影响版本:Struts2.0.1-Struts 2.3.33 Struts 2.5- Struts 2.5.10

二、漏洞描述

当开发者在使用表达式文字,或在Freemarker标签(见下方)下使用强制表达式时,请求值的使用都可能会导致RCE攻击。

在这两种情况下,属性都使用可写 value属性,而且都存在Freemarker表达式漏洞。

三、漏洞解决方法

不要在代码中使用这样的结构,或者使用只读属性来初始化value属性(仅限getter属性)。

可以升级到Apache Struts版本2.5.12或2.3.34,新版本中包含更多受限制的Freemarker配置,但是可以删除存在漏洞的构造。

四、漏洞修复建议

检查代码并清除存在风险的构造

Struts远程代码执行漏洞(S2-052)

一、漏洞详情

漏洞编号:CVE-2017-9805

漏洞等级:高危

漏洞版本:Struts 2.5-Struts 2.5.13

二、漏洞描述:

该漏洞允许攻击者执行任意的远程代码,任何基于Struts框架,并且使用流行REST通信插件的服务器都可以成为目标。该漏洞是由Struts反序列化非信任数据的方式所引起的。

当Struts REST中的XStream反序列化一个未经过滤的XStream时,就有可能出现远程代码执行漏洞。

2008年以来所有版本的Struts都会受到影响,所有使用该框架下REST插件的Web应用都容易受到攻击。

并且据分析师估计,至少有65%的全球500强企业在使用基于Struts框架构建的Web应用,足以说明此次风险的普遍性和严重性。

三、POC

6bf43e790b48eecc50d97efa092a201b.png

POC部分截图

0ac4cef808c96f986088273604c14b25.png

四、漏洞修复建议

1、升级Apache Struts至2.5.13版本

2、目前还没有解决方法,最好的办法是在不使用时删除Struts REST插件,或者只在服务器普通页面和JSON下使用。

学习 | 成长 | 伙伴 听课群:598562771

*IDEA值得分享 | 转载注明出处返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值