原标题:【重大漏洞预警】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
POC部分截图
四、漏洞修复建议
1、升级Apache Struts至2.5.13版本
2、目前还没有解决方法,最好的办法是在不使用时删除Struts REST插件,或者只在服务器普通页面和JSON下使用。
学习 | 成长 | 伙伴 听课群:598562771
*IDEA值得分享 | 转载注明出处返回搜狐,查看更多
责任编辑: