2017年3月7日,瑞星安全研究院对外发布紧急安全警报,Apache Struts 2被曝存在高危远程命令执行漏洞,漏洞编号为S2-045,CVE编号CVE-2017-5638。据介绍,本次爆出的漏洞触发点主要存在使用基于Jakarta插件的文件上传功能,经过瑞星安全专家验证,该漏洞可直接执行系统命令,一旦被黑客执行恶意破坏命令,可能对服务器造成的是永久性破坏。瑞星提醒广大网站运维人员,及时验证漏洞情况,及时采取有效防范措施,以免遭受严重影响。
Struts是Apache基金会Jakarta项目组的一个开源项目,它采用MVC 模式,帮助java开发者利用J2EE开发 Web 应用。目前,Struts广泛应用于大型互联网企业、政府、金融机构等网站建设,并作为网站开发的底层模板使用。因此,瑞星安全专家再次提醒广大网站管理员,尽快将Struts 2升级到安全版本。
早在2013年,瑞星就率先公布Struts 2的高危漏洞,并提供应急响应安全服务。针对此次的S2-045,广大网站管理员可以尽快升级,如有问题可以随时与瑞星公司进行联系,获取帮助。针对该漏洞目前造成的影响,瑞星会持续跟进,并及时向社会公布结果。
漏洞详情
漏洞编号:S2-045
CVE编号:CVE-2017-5638
漏洞类型:远程代码执行
漏洞级别:高危
漏洞风险:黑客通过利用漏洞可以实现远程命令执行。
影响版本:struts2.3.5– struts2.3.31 , struts2.5–struts2.5.10。
漏洞描述:攻击者可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令
漏洞分析
漏洞存在的文件
1. \core\src\main\java\org\apache\struts2\dispatcher\multipart\MultiPartRequestWrapper.java
2. \core\src\main\java\org\apache\struts2\dispatcher\multipart\JakartaMultiPartRequest.java
3. \core\src\main\java\org\apache\struts2\dispatcher\multipart\JakartaStreamMultiPartRequest.java
修复方法
if (LocalizedTextUtil.findText(this.getClass(), errorKey, defaultLocale, null, new Object[0]) == null) {
return LocalizedTextUtil.findText(this.getClass(), "struts.messages.error.uploading", defaultLocale, null, new
Object[] { e.getMessage() });
} else {
return LocalizedTextUtil.findText(this.getClass(), errorKey, defaultLocale, null, args);
}
漏洞利用条件
1. 基于Jakarta(Jakarta Multipart parser)插件的文件上传功能
2. 恶意攻击者构造Content-Type的值
修复建议
1. 修复Jakarta文件上传插件或者是存在漏洞的Struts 2版本请升级至Struts2安全版本
2. 通过Servlet过滤器验证Content-Type值
3. 添加waf规则进行拦截恶意攻击
参考文档
https://cwiki.apache.org/confluence/display/WW/S2-045
https://github.com/apache/struts
瑞星验证结果
瑞星针对部分授权用户,通过使用struts默认扩展*.action进行搜索,从搜索结果中随机选出url进行漏洞验证。从案例返回的结果信息中可以看出通过该漏洞可直接执行系统命令,从命令执行反馈的结果可以看出很多的网站都是基于root(linux系统最高权限用户)权限运行,一旦执行恶意破坏命令如:rm删除命令,可对服务器造成的是永久性破坏
。
自定义html
文章内容仅供阅读,不构成投资建议,请谨慎对待。投资者据此操作,风险自担。
日前,高通举办新品发布会,推出了骁龙8旗舰移动平台诞生以来的第一款新生代旗舰平台:第三代骁龙8s,这是高通对骁龙旗舰移动平台的一次层级扩展,同时意味着广大消费者未来在旗舰手机市场也将会有更多丰富的选择。
近日,中国家电及消费电子博览会(AWE 2024)隆重开幕。全球领先的智能终端企业TCL实业携多款创新技术和新品亮相,以敢为精神勇闯技术无人区,斩获四项AWE 2024艾普兰大奖。
“以前都要去窗口办,一套流程下来都要半个月了,现在方便多了!”打开“重庆公积金”微信小程序,按照提示流程提交相关材料,仅几秒钟,重庆市民曾某的账户就打进了21600元。
由世界人工智能大会组委会、上海市经信委、徐汇区政府、临港新片区管委会共同指导,由上海市人工智能行业协会联合上海人工智能实验室、上海临港经济发展(集团)有限公司、开放原子开源基金会主办的“2024全球开发者先锋大会”,将于2024年3月23日至24日举办。