突发!Spring疑似沦陷了。。。
Posted xhmj12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了突发!Spring疑似沦陷了。。。相关的知识,希望对你有一定的参考价值。
前晚,一位搞安全的朋友给我发消息说,Spring 框架有个大瓜。。。
真香,刚刚经历了 log4j2 这个大雷(参考:Log4j 史诗级大雷,大厂都中招了! ),咱们 java 程序员引以为傲的Spring框架也报了RCE(远程命令执行),啪啪打脸~
目前,影响范围:JDK9、10、11 ,且使用了Spring框架。
之前 log4j2 爆出后,大部分企业都升级了JDK的版本,而这次 Spring RCE Leak 又刚好存在于高版本的 JDK 中。
同时朋友也给我发来了一条链接,Spring官方有一个提交疑似来解决 Spring RCE Leak。
https://github.com/spring-projects/spring-framework/commit/7f7fb58dd0dae86d22268a4b59ac7c72a6c22529
就以上这些信息看来,似乎确实是有问题!
但是官方目前并没有发声明,大家不用太担心。
临时修复方案
考虑到有些读者可能不放心,下面是我在网上看到的修复方案,大家可以参考一下。
1、在应用中全局搜索@InitBinder注解,看看方法体内是否调用dataBinder.setDisallowedFields方法,如果发现有此代码片段的引入,则在原来的黑名单中,添加"class.*","Class. *","*. class.*", "*.Class.*",如果此代码片段使用较多,需要每个地方都追加。
import org.springframework.core.annotation.Order;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.InitBinder;
@ControllerAdvice
@Order(0)
public class GlobalControllerAdvice
@InitBinder
public void setAllowedFields(webdataBinder dataBinder)
String[]abd=new string[]"class.*","Class.*","*.class.*","*.Class.*";
dataBinder.setDisallowedFields(abd);
其实,如果有waf的话,也可以在waf中配置 class.*,Class.*,*.class.*,*.Class.* 字符串进行过滤。
-End-
2、心态崩了!税前2万4,到手1万4,年终奖扣税方式1月1日起施行~
以上是关于突发!Spring疑似沦陷了。。。的主要内容,如果未能解决你的问题,请参考以下文章