/ 2018-08-23
8月22日,apache wiki更新了一个struts2的远程代码执行漏洞(s2-057),漏洞威胁等级为高危,漏洞对应的cve编号为cve-2018-11776。由于漏洞poc已经暴露,深信服紧急预警,提醒广大stutst2用户做好安全防护措施。
漏洞名称:struts2远程代码执行漏洞(s2-057)
漏洞类型:远程代码执行漏洞
漏洞威胁:高危
漏洞利用难度:容易
struts2是一个基于mvc设计模式的web应用框架。在mvc设计模式中,struts2作为控制器(controller)来建立模型与视图的数据交互。struts2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与servletapi完全脱离开,所以struts2可以理解为webwork的更新产品。
据统计,在全球范围内对互联网开放struts2的资产数量多达6,343台,其中归属中国地区的受影响资产数量为1,218台。具体数据如下图:
中没有为namespace赋值,并且配置了重定向
此漏洞利用比较简单,只需要在url构造ognl表达式,再加上配置文件中的action标签中的name属性值,并以.action结尾,如下图所示:
路径跳转到下配置的action文件路径下,s2-057漏洞被成功的利用。
目前官方提供了临时修复方案:当上层动作配置中没有设置或使用通配符namespace时,验证所有xml配置中的namespace,同时在jsp中验证所有url标签的value和action。
深信服云盾已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。
漏洞名称:struts2远程代码执行漏洞(s2-057)
漏洞类型:远程代码执行漏洞
漏洞威胁:高危
漏洞利用难度:容易
漏洞分析
struts2是一个基于mvc设计模式的web应用框架。在mvc设计模式中,struts2作为控制器(controller)来建立模型与视图的数据交互。struts2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与servletapi完全脱离开,所以struts2可以理解为webwork的更新产品。
漏洞说明
据统计,在全球范围内对互联网开放struts2的资产数量多达6,343台,其中归属中国地区的受影响资产数量为1,218台。具体数据如下图:
漏洞复现
触发此漏洞的前提是:
此漏洞利用比较简单,只需要在url构造ognl表达式,再加上配置文件中的action标签中的name属性值,并以.action结尾,如下图所示:
访问即可看到构造的ognl表达式已经被执行。
路径跳转到
影响版本
apache struts2 >=2.3,<=2.3.34
apache struts2 >=2.5,<=2.5.16
凯发登录的解决方案
漏洞检测
注册地址:http://saas.sangfor.com.cn
漏洞修复
目前apache官方已经在发布的新版本中修复了该漏洞,建议用户及时下载最新版本(2.3.35或2.5.17版本)并更新。
目前官方提供了临时修复方案:当上层动作配置中没有设置或使用通配符namespace时,验证所有xml配置中的namespace,同时在jsp中验证所有url标签的value和action。
漏洞防御
深信服云盾已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。
咨询与服务