继2021年底由阿里发现的Log4j的严重漏洞之后, Spring框架也被发现了一个重大的安全漏洞。目前这个漏洞的名称被称为“SpringShell: Spring Core RCE 0-day Vulnerability”。
这个漏洞是一个RCE的漏洞,RCE (remote command/code execute),远端命令执行, 也就是可以在远端控制服务器,相当于一个命令窗口,类似于linux 的Shell , 所以被称为 SpringShell。 发生在去年的Log4j 的漏洞也有类似的状况,所以也被戏称为Log4Shell。
0-day漏洞,又称“零日漏洞”(zero-day),是已经被发现(有可能未被公开),而官方还没有相关补丁的漏洞。 但是随后,Spring官方对这个问题进行了紧急修复, 所以也就不是零日漏洞了。但是这个漏洞目前还没有产生 CVE的漏洞统一编码。

什么情况存在漏洞风险?

满足以下两个条件,则存在风险:

  1. JDK9版本之上
  2. 使用了Spring MVC框架

另外,这个漏洞发生在打包成war打包档部署到Tomcat运行的状况, 对于开发时使用内嵌的Tomcat不受影响。其他Servlet容器也不影响。

什么样的风险?

上面说到攻击的类型时RCE,远程攻击者可以在满足一定条件的基础上,通过框架的参数绑定功能获取AccessLogValve对象和恶意字段值,从而触发管道机制 并写入任意字段。

如何确认是否存在风险

  1. 检查服务器的Java版本
    在命令行输入

Spring 框架RCE 安全漏洞及解决方式相关推荐

  1. java 自动装载_java_详解Java的Spring框架下bean的自动装载方式,Spring容器可以自动装配相互协 - phpStudy...

    详解Java的Spring框架下bean的自动装载方式 Spring容器可以自动装配相互协作bean之间的关系,这有助于减少对XML配置,而无需编写一个大的基于Spring应用程序的较多的和元素. 自 ...

  2. Java(web)项目安全漏洞及解决方式【面试+工作】

    Java(web)项目安全漏洞及解决方式[面试+工作] 一.安全性问题层次关系 大家经常会听到看到很多很多有关安全性方面的信息,可以说形形色色,对于在网络安全方面不太专业的同志来说,有点眼花缭乱,理不 ...

  3. spring框架xml的几种配置方式

    spring框架xml的几种配置方式 ioc配置一般由一下两大类 1 手动装配 利用xml手动配置,分为:setter方法装配 ,构造器装配 2 自动装配 利用注解自动装配 准备工作:userdao ...

  4. 【安全】Java(web)项目安全漏洞及解决方式【面试+工作】

    文章目录 问题 一.安全性问题层次关系 二.安全性问题的本质 三.安全漏洞及处理方式 1.SQL注入攻击 2.XSS跨站脚本攻击 3.CSRF跨站请求伪造漏洞防护 4.URL链接注入漏洞防护 5.会话 ...

  5. Spring 框架的AOP之注解的方式

    1. 环境搭建 1.1 导入 jar 包 Spring 框架的基本开发包(6个); Spring 的传统AOP的开发包 spring-aop-4.3.10.RELEASE org.aopallianc ...

  6. 【java基础知识】spring框架开发时,怎样解决mysql数据库中Timestamp到String的简单转换

    Springboot框架中的sql查询使用的Mybatis,直接查询数据库数据返回的Timestamp是一串数字,并不是我们在数据库中看到的 yyyy-MM-dd HH:mm:ss 格式. 两种方式, ...

  7. 紧急:Spring框架被爆出存在0day级别远程命令执行漏洞。漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响。该漏洞目前无官方修复补丁

    Spring框架被爆出存在0day级别远程命令执行漏洞.漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响. 漏洞信息和漏洞影响排查方法如下: 漏洞名称 ...

  8. spring学习12 -Spring 框架模块以及面试常见问题注解等

    以下为spring常见面试问题: 1.Spring 框架中都用到了哪些设计模式? Spring框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式-在AOP和remoting中被用的比较 ...

  9. spring框架_一篇文章带你理解Spring框架

    虽然现在流行用SpringBoot了,很多配置已经简化和封装了,但是对于Spring的一些基础我们了解一些是对我们自己的架构思想很有帮助的!接下来和笔者一起来探讨一下Spring框架吧! 1.什么是S ...

最新文章

  1. MyBatis——insert错误[Could not set property ‘id‘ of ‘class‘ with value ‘xxx‘]解决方案
  2. OpenGL ES之纹理翻转的解决策略
  3. mysql支持事务的存储引擎_MySQL基础(三)【MySQL事务与存储引擎】
  4. react 用html插件,VSCode拓展插件推荐(HTML、Node、Vue、React开发均适用)-Go语言中文社区...
  5. jquery 后代元素_在jQuery中查找元素的所有后代
  6. Atitit.软件开发的几大规则,法则,与原则p821.doc
  7. 代码之谜(五)- 浮点数(谁偷了你的精度?)
  8. 【图像隐藏】基于小波变换DWT实现数字水印嵌入提取含各类攻击附matlab代码
  9. 西门子real是什么数据类型_西门子PLC的数据类型及数据转换
  10. 电脑连不上ishanghai_ishanghai用电脑肿么连网
  11. 管理每日日程提醒以及待办清单的备忘便签有哪些
  12. 怎么用CDR来批量导出图片
  13. Set集合及源码分析
  14. JS实现水波涟漪特效
  15. Mockito verify
  16. mysql 网络,MySQL :: MySQL 网络研讨会
  17. Python:好租网商务楼数据爬取
  18. 【信号处理】基于优化算法的 SAR 信号处理(Matlab代码实现)
  19. 8-10:HTML学习#26
  20. SANGFOR AC设备如何开启上网实名认证

热门文章

  1. 【bzoj4321】queue2 dp
  2. Color.js增强你对颜色的控制
  3. Reverse Pairs
  4. 微信公众号开发系列教程一(调试环境部署)
  5. [转]jQuery-1.3.2学习笔记
  6. vs 2005 多語言
  7. Python: subprocess.Popen()不支持unicode问题解决
  8. 关于项目IIS CPU100%故障临时解决方案
  9. 【报告分享】2022戴森品牌社媒营销分析报告:搭“消费升级”快车,走“升维打击”路线.pdf(附下载链接)...
  10. 深度学习技术驱动下的人工智能时代!