近日,安全研究人员发现著名的J2EE框架——Struts2存在远程代码执行的漏洞(S2-046),与半月前的S2-045漏洞影响范围及组件完全相同,经赛博星人团队确认,该漏洞可导致操作系统权限被黑客获取并完全控制,造成严重的企业敏感信息泄露并可能造成企业系统整体瘫痪。
Struts2是一种国内使用非常广泛的Web应用开发框架,被大量的政府、金融以及大中型互联网公司所使用。Struts2默认使用了Jakarta作为Multipart解析器,在受影响版本范围内的默认条件下都会存在该问题。
S2-046漏洞触发条件:当上传文件的大小(由Content-Length头指定)大于Struts2允许的最大大小(2GB)或是在文件名内容构造恶意的OGNL内容时,Content-Disposition请求中含有空字节,可能会造成远程命令执行,导致系统被入侵。
风险等级:危急
影响范围:与Struts S2-045漏洞受影响版本相同,Struts 2.3.5 - Struts 2.3.31、Struts 2.5 - Struts 2.5.10。已经按照S2-045漏洞的升级要求升级到2.3.32或者2.5.10.1版本的企业用户将不会收到本次漏洞的影响。
漏洞修复版本:
Struts 2.3.32、Struts2.5.10.1
-
以自查检测方式查看web目录下/WEB-INF/lib/目录下的struts-core.x.x.jar ,如果这个版本在Struts2.3.5 到 Struts2.3.31 以及Struts2.5 到 Struts2.5.10之间则存在漏洞。
-
邀请普华永道信息安全与隐私保护团队协助进行漏洞扫描并搭建系统安全体系。
通过版本升级,更新系统至Strusts2.3.32或者Strusts2.5.10.1等安全版本或使用第三方的防护设备进行防护。
1.更改配置:在WEB-INF/classes目录下的struts.xml中的struts 标签下添加
<constantname=”struts.custom.i18n.resources”value=”global” />;
在WEB-INF/classes/目录下添加global.properties,文件内容如下:
struts.messages.upload.error.InvalidContentTypeException=1
2.更换解析器:更换其他Multipart解析器,严格过滤 Content-Type 、filename里的内容,严禁ognl表达式相关字段。
3.删除文件:删除commons-fileupload-x.x.x.jar文件(该过程可能会造成上传功能不可用)。
Struts2.3.32下载地址:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.32
Struts2.5.10.1下载地址:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.10.1
(请长按下载地址并复制后从浏览器中打开)
欢迎关注“赛博星人”公众号,我们将持续跟踪安全事件发展态势,努力维护信息安全!
小编/赛博南,赛博克里斯,赛博慧
本文始发于微信公众号(赛博星人):【警报】Struts2漏洞频现,系统安全危如累卵
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论