• 2024-03-29springcloudgatewayRCE(spEl表达式)
    CVE-2022-22947SpringCloudGatewayRemoteCodeExecute漏洞/SpELCodeInjection漏洞基本介绍cloud全家桶网关作用l智能路由l负载均衡l协议转换l权限校验l限流熔断l黑白名单lAPI监控l日志审计SpringCloutGateway使用<dependency><groupId>org.
  • 2024-03-29SPEL表达式注入分析
    环境依赖<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>5.1.9.RELEASE</version></dependency></d
  • 2024-01-29SpringBoot + SpEL,轻松搞定复杂权限控制
    对于在Springboot中,利用自定义注解+切面来实现接口权限的控制这个大家应该都很熟悉,也有大量的博客来介绍整个的实现过程,整体来说思路如下:自定义一个权限校验的注解,包含参数value配置在对应的接口上定义一个切面类,指定切点在切入的方法体里写上权限判断的逻辑乍一看,没毛病,学
  • 2024-01-19SpringBoot引入SpEL,优雅控制复杂权限!
    对于在Springboot中,利用自定义注解+切面来实现接口权限的控制这个大家应该都很熟悉,整体来说思路如下:自定义一个权限校验的注解,包含参数value配置在对应的接口上定义一个切面类,指定切点在切入的方法体里写上权限判断的逻辑然而,在实际的开发中,对于权限校验的需求场景是很多的,比如:傻眼
  • 2024-01-13Spring表达式语言(SPEL)学习(03)
    rootObject在表达式中直接写name和getName(),这时候Expression是无法解析的,因为其不知道name和getName()对应什么意思@Testpublicvoidtest06(){ ExpressionParserparser=newSpelExpressionParser(); parser.parseExpression("name").getValue(); parser.parseExpre
  • 2023-12-09Day3——揭秘Spring依赖注入和SpEL表达式
    【摘要】在本文中,我们深入探讨了Spring框架中的属性注入技术,包括setter注入、构造器注入、注解式属性注入,以及使用SpEL表达式进行属性注入。我们通过XML和注解两种方式,详细讲解了如何进行属性注入,并给出了完整的代码示例。无论你是Spring新手,还是有一定经验的开发者,本文都将帮助你
  • 2023-10-19@Cacheable详解
    @Cacheable是SpringFramework中的一个注解,它可以应用在方法上,用于声明该方法的结果可以被缓存起来,以便后续的调用可以直接返回缓存中的结果,而不必真正执行方法的代码。@Cacheable注解中的参数有以下几个:value:缓存的名称,可以是一个字符串数组,表示该方法的结果可以被缓存到
  • 2023-10-08Spring-AOP根据spel获取方法参数值、Bean对象属性值
    Spring-AOP根据spel获取方法参数值、Bean对象属性值,动态的获取属性值,可以用来做注解式分布式锁、注解式获取属性值等等。第一步:自定义注解,代码如下所示packagecom.example.springbootstudy.interfaces;importjava.lang.annotation.*;@Target(ElementType.METHOD)@Inheri
  • 2023-09-19支持SpEL表达式的自定义日志注解@SysLog介绍
    目录序言预期思路过程结果序言之前封装过一个日志注解,打印方法执行信息,功能较为单一不够灵活,近来兴趣来了,想重构下,使其支持表达式语法,以应对灵活的日志打印需求。该注解是方法层面的日志打印,如需更细的粒度,还请手撸log.xxx()。预期通过自定义注解,灵活的语法表达式,拦
  • 2023-09-11SpringBoot + 自定义注解,实现用户操作日志(支持SpEL表达式)
    背景一个成熟的系统,都会针对一些关键的操作,去创建用户操作日志。比如:XX人创建了一条订单,订单号:XXXXXXXXX因为操作人或者订单号是动态的,所以有些开发人员,不知道获取,就将这种操作日志和业务代码融在一起。我们当然要杜绝这种现象,一定会有更好的解决方案。当前项目除了
  • 2023-09-03javaee spring依赖注入之spel方式
    spring依赖注入之spel方式<dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.3.18.RELEASE</version></dependency>packagecom.test.pojo;im
  • 2023-08-26SpEL表达式
    基本原则字符串需要使用单引号引起来,否则表示的是一个变量。变量前面没有#符号,表示取根对象的属性值。如果根对象没有该属性,则会抛异常。变量前加#符号,表示访问上下文中通过setVariable方法设置的变量,其中#root是一个特殊值,表示根对象。如果找不到该变量,不会抛异常,而是返回nul
  • 2023-08-08spEl解析
    前言有个需求要求做幂等,按之前的做法,在业务代码中使用redis根据幂等标识获取值,有则证明该入参短时间内已触发过,滤过。然后再业务结尾,将幂等标识发送个redis注:以上幂等有个问题,两个相同的入参同时进入,同样再redis上是找不到幂等标识的,此时第一个入参没有将幂等标识发送
  • 2023-07-24【深入浅出Spring原理及实战】「夯实基础系列」360全方位透析和探究SpringEL的开发实战指南(序章)
    Spring表达式语言(SpEL)本文将介绍SpEL的功能、API和语言语法。概念介绍Spring表达式语言(SpEL)是一种功能强大的表达式语言,用于在运行时查询和操作对象图。它的语法与UnifiedEL相似,但提供了更多功能,其中最主要的是方法调用和基本的字符串模板功能。技术无关性虽然还有其他几
  • 2023-07-13Groovy定义的Class在Spel中使用
    @ResourceprivateICustomFunctionServicecustomFunctionService;@PostConstructprivatevoidinit(){LambdaQueryWrapper<CustomFunctionEo>wrapper=Wrappers.lambdaQuery(CustomFunctionEo.class).eq(CustomFunctionE
  • 2023-07-13SpEL (Spring Expression Language)
    https://docs.spring.io/spring-framework/docs/3.0.x/reference/expressions.html 6.1 IntroductionTheSpringExpressionLanguage(SpELforshort)isapowerfulexpressionlanguagethatsupportsqueryingandmanipulatinganobjectgraphatruntime.T
  • 2023-06-15Spring之SpEL表达式操作示例解析
    目录1SpEL1.1简介1.2简单示例2深入示例2.1运算2.1.1算术运算2.1.2逻辑运算2.1.3比较运算2.1.4使用字符代替符号2.1.5使用正则表达式2.1.6使用instanceof2.1.7三目运算(if..else..)2.1.8表达式模板TemplateParserContext2.2字符串2.2.1操作2.2.2调用字符串方法2.3使
  • 2023-06-122022 360强国杯决赛Web-writeup
    Webezxunrui分析1、下载附件开始审计迅睿路由规则不过多介绍了,需要选手自行分析代码逻辑,这里只公布漏洞点。控制器在如下位置。在API控制器中。存在qrcode操作用来生成二维码,会获取略缩图参数,如图。跟进一下发现存在curl的调用,存在SSRF漏洞。2、SSRFFastCGIRCE
  • 2023-06-12揭秘Spring依赖注入和SpEL表达式
    摘要:在本文中,我们深入探讨了Spring框架中的属性注入技术,包括setter注入、构造器注入、注解式属性注入,以及使用SpEL表达式进行属性注入。本文分享自华为云社区《Spring高手之路3——揭秘Spring依赖注入和SpEL表达式》,作者:砖业洋__。在本文中,我们深入探讨了Spring框架中的属性注
  • 2023-05-15SPEL、OGNL、Groovy、JEXL总结
     一、SPEL官网地址:https://docs.spring.io/spring-framework/reference/core/expressions.html1、支持编译,大大提升编译效率,需要在创建的时候指定,但是有如下编译限制:从SpringFramework4.1开始,基本的编译框架已经到位。但是,该框架还不支持编译每一种表达式。最初的重点是
  • 2023-04-19实现声明式锁,支持分布式锁自定义锁、SpEL和结合事务
    目录2.实现2.1定义注解2.2定义锁接口2.3锁的实现2.3.1什么是SPI2.3.2通过SPI实现锁的多个实现类2.3.3通过SPI自定义实现锁3.定义切面3.1切面实现3.2SpEL表达式获取动态key3.3锁与事务的结合4.测试4.1ReentrantLock测试4.2RedissonClient测试4.3自定义锁测试5.尾声5.1
  • 2023-03-21SPEL
    前言在P神18年出的javacon这道题中遇到了利用SpEL表达式绕过黑名单,看完wp后决定来学学。什么是SpELSpringExpressionLanguage(简称SpEL)是一种强大的表达式语言,支持在
  • 2023-03-08Spel表达demo
    packagecom.example.demo;importorg.junit.jupiter.api.Test;importorg.springframework.boot.test.context.SpringBootTest;importorg.springframework.context.
  • 2023-02-21一文详解SpEL表达式注入漏洞
    摘要:本文介绍了SpEL表达式以及常见的SpEL注入攻击,详细地介绍了部分漏洞攻击实例以及常用的漏洞检测与防御手段。本文分享自华为云社区《​​SpEL表达式注入漏洞分析、检查与
  • 2023-02-21一文详解SpEL表达式注入漏洞
    摘要:本文介绍了SpEL表达式以及常见的SpEL注入攻击,详细地介绍了部分漏洞攻击实例以及常用的漏洞检测与防御手段。本文分享自华为云社区《SpEL表达式注入漏洞分析、检查与防