spring|刚折腾完Log4J,又爆Spring RCE核弹级漏洞( 二 )




["p"{"uuid":"l1d6n9q4zo75b18tyz"["span"{"data-type":"text"["span"{"data-type":"leaf""确定项目使用了Spring框架以后 , 如何来修复可能存在的风险呢?"


["h4"{"uuid":"l1d68j8zw9au0b14zq"["span"{"data-type":"text"["span"{"bold":true"sz":12"szUnit":"pt""data-type":"leaf""2、第二步:修复方案"


["p"{"uuid":"l1d6p28kq3fw9tyeq7""ind":{"firstLine":32["span"{"data-type":"text"["span"{"data-type":"leaf""目前为止 , Spring官方还没有给出解决方案 。 我先教大家一个简单粗暴的方案 , 可以临时解决问题 。 "


["p"{"uuid":"l1d6sx58ngo4bvr3p7o""ind":{"firstLine":32["span"{"data-type":"text"["span"{"data-type":"leaf""1、如果安装了WAF防护 , 也就是Web应用防火墙 , 只需要追加这样一个防护规则“class.*Class.****.class.***.Class” , 防止远程下载 。 "


["p"{"uuid":"l1d6vp5m4vsm5d2efyd""ind":{"firstLine":32["span"{"data-type":"text"["span"{"data-type":"leaf""2、如果没有安装WAF , 只需要在拦截器中增加对 class.*Class.****.class.***.Class 后缀请求的拦截就可以了 。 "


["p"{"uuid":"l1d78j15yg4xjtztyo""ind":{"firstLine":32["span"{"data-type":"text"["span"{"data-type":"leaf""按照这两步操作完之后 , 大家记得对业务运行情况进行测试 , 避免对已有功能造成影响 。 此次爆出的漏洞 , 攻击原理和之前Log4J爆出的漏洞原理差不多 。 如果大家对原理有兴趣的话 , 可以关注我发布的其他视频 。 "


["p"{"uuid":"l1d76asm202ho99u8mp""ind":{"firstLine":32["span"{"data-type":"text"["span"{"data-type":"leaf"""


["p"{"uuid":"l1d76awijaqo2mgj92l""ind":{"firstLine":32["span"{"data-type":"text"["span"{"data-type":"leaf""我是被编程耽误的文艺Tom , 如果大家还有其他疑问 , 请在评论区留言 。 如果本次面试对你有帮助 , 请动动手指一键三连分享给更多的人 。 关注我 , 技术不再难!"



\">继Log4J爆出安全漏洞之后 , 又在深夜 , Spring的github上又更新了一条可能造成RCE(远程命令执行漏洞)的问题代码 , 随即在国内的安全圈炸开了锅 。 有安全专家建议升级到JDK 9以上 , 有些专家又建议回滚到JDK 7以下 , 一时间小伙伴们不知道该怎么办了 。 大家来看一段动画演示 , 怎么改都是“将军\" 。

大家不要慌 , 我给大家先临时支个招 , 后面再出教程 。 首先叫大家怎么排查哪些项目存在风险 , 然后 , 再介绍修复方案 。
1、第一步:排查方法排查的主要目的是确定你的项目是否使用了Spring框架 。 当然 , 你的项目有没有使用Spring框架开发者都知道 。 但是 , 如果公司项目比较多 , 为了规避风险 , 还要对一些老项目要进行排查 。 那老项目如何确定是否使用了Spring框架呢?
方法很简单 , 不管的你的项目是用war独立部署还是用jar包独立部署 , 只需要对应的war或者jar包 , 将后缀改为zip包 , 然后将zip解压 。 在解压后的目录中搜索是否存在spring-beans-开头的jar包或者CachedInrospectionResults.class文件 。 如果存在就可以确定该项目使用了Spring 。