spring框架漏洞扫描工具-springScan

admin 2021年8月16日20:20:20评论1,931 views字数 1968阅读6分33秒阅读模式

每日分享好工具

1、Spring介绍:
Spring是一个开源框架,核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成交由Spring来创建对象 。类比Struts 2框架绝大部分的安全漏洞都都是由于OGNL,而自从sping引入SpEL,也引起很多安全漏洞,什么事都是有利即有弊。
2、Spring漏洞:
  • Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977)

Spring Security OAuth 2.0 – 2.0.9Spring Security OAuth 1.0 – 1.0.5
  • Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)

Spring Web Flow 2.4.0-2.4.4
  • Spring Data Rest 远程命令执行漏洞(CVE-2017-8046)

Spring Data REST versions < 2.5.12, 2.6.7, 3.0 RC3Spring Boot version < 2.0.0M4Spring Data release trains < Kay-RC3
  • Spring Messaging 远程命令执行漏洞(CVE-2018-1270)

Spring Framework 5.0 -5.0.4Spring Framework 4.3 - 4.3.14
  • Spring Data Commons 远程命令执行漏洞(CVE-2018-1273)

Spring Data Commons 1.13 - 1.13.10Spring Data Commons 2.0 - 2.0.5
3、漏洞概况:
1)、Spring Security OAuth是为Spring框架提供安全认证支持的一个模块,主要分为授权服务 Authorization Service.资源服务 Resource Service.这次漏洞主要是由用户使用Whitelabel views来处理错误时,攻击者在被授权的情况下可以通过构造恶意 SpEL表达式来远程执行命令。
2)、Spring WebFlow构建于Spring MVC之上,允许实现Web应用程序的“流程”。流程封装了一系列步骤,指导用户执行某些业务任务。 它的最佳位置是具有受控导航功能的有状态Web应用程序,例如购物逻辑,向表单添加确认步骤等。如果我们控制了数据绑定时的field,构造恶意 SpEL表达式来远程执行命令。
3)、Spring Data是对数据访问的更高抽象。通过它,开发者进一步从数据层解放出来,更专注于业务逻辑。Spring Data REST是一个构建在Spring Data之上,为了帮助开发者更加容易地开发REST风格的Web服务。在REST API的Patch方法中,path的值被传入setValue,导致执行了恶意SpEL表达式,触发远程命令执行漏洞。
4)、spring messaging为spring框架提供消息支持,其上层协议是STOMP,底层通信基于SockJS,用STOMP协议将数据组合成一个文本流,简单来说用sockjs协议发送文本流,sockjs会选择一个合适的通道:websocket(NEW)或ajax(OLD)进与后端通信。由于selector用SpEL表达式编写,并使用StandardEvaluationContext解析(权限太大),造成命令执行漏洞。
5)、Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons有一个重要概念:Spring Data Repository抽象。使用Spring Data Repository可以极大地减少数据访问层的代码。当用户在项目中利用了Spring-data的相关web特性对用户的输入参数进行自动匹配的时候,会将用户提交的form表单的key值作为SpEL表达式进行注入,攻击者可以注入恶意SpEL表达式以执行任意命令。

4、spring框架多线程漏洞扫描

默认 .springScan.exe -u x.x.x.x 启动扫描

spring框架漏洞扫描工具-springScan

spring框架漏洞扫描工具-springScan

参考:https://zhuanlan.zhihu.com/p/62503952https://blog.csdn.net/csacs/article/details/87951940https://www.cnblogs.com/jinqi520/p/12033860.htmlhttps://github.com/YanMu2020/SpringScan

 

 

https://github.com/YanMu2020/SpringScan

本文始发于微信公众号(LemonSec):spring框架漏洞扫描

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月16日20:20:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   spring框架漏洞扫描工具-springScanhttp://cn-sec.com/archives/451587.html

发表评论

匿名网友 填写信息