继Log4J爆出安全漏洞之后,又在深夜,Spring的github上又更新了一条可能造成RCE(远程命令执行漏洞)的问题代码,随即在国内的安全圈炸开了锅。有安全专家建议升级到JDK 9以上,有些专家又建议回滚到JDK 7以下,一时间小伙伴们不知道该怎么办了。大家来看一段动画演示,怎么改都是“将军"。
大家不要慌,我给大家先临时支个招,后面再出教程。首先叫大家怎么排查哪些项目存在风险,然后,再介绍修复方案。
1、第一步:排查方法
排查的主要目的是确定你的项目是否使用了Spring框架。当然,你的项目有没有使用Spring框架开发者都知道。但是,如果公司项目比较多,为了规避风险,还要对一些老项目要进行排查。那老项目如何确定是否使用了Spring框架呢?
方法很简单,不管的你的项目是用war独立部署还是用jar包独立部署,只需要对应的war或者jar包,将后缀改为zip包,然后将zip解压。在解压后的目录中搜索是否存在spring-beans-开头的jar包或者CachedInrospectionResults.class文件。如果存在就可以确定该项目使用了Spring。
确定项目使用了Spring框架以后,如何来修复可能存在的风险呢?
2、第二步:修复方案
目前为止,Spring官方还没有给出解决方案。我先教大家一个简单粗暴的方案,可以临时解决问题。
1、如果安装了WAF防护,也就是Web应用防火墙,只需要追加这样一个防护规则“class.*Class.****.class.***.Class”,防止远程下载。
2、如果没有安装WAF,只需要在拦截器中增加对 class.*Class.****.class.***.Class 后缀请求的拦截就可以了。
按照这两步操作完之后,大家记得对业务运行情况进行测试,避免对已有功能造成影响。此次爆出的漏洞,攻击原理和之前Log4J爆出的漏洞原理差不多。如果大家对原理有兴趣的话,可以关注我发布的其他视频。
我是被编程耽误的文艺Tom,如果大家还有其他疑问,请在评论区留言。如果本次面试对你有帮助,请动动手指一键三连分享给更多的人。关注我,技术不再难!
本文为“Tom弹架构”原创,转载请注明出处。技术在于分享,我分享我快乐!
如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力。
往期视频已经整理成文档形式,需要的小伙伴可S我,海量干货免费领!只弹干货不参水!