当Spring Boot版本在小于等于2.3.0.RELEASE的情况下,alwaysUseFullPath为默认值false,倘若代码中使用了getRequestURI等进行路由判断或者白名单校验,则在路由匹配时相当于会进行路径标准化处理,其中包括对%2e解码以及跨目录处理,攻击者可能配合利用%2e等绕过相关校验。
1、可手动配置 Spring Boot选项 alwaysUseFullPath 为 true。
2、升级至大于2.3.0版本后Spring Boot默认设置alwaysUseFullPath为true,可缓解相关认证绕过。
注:以上方案可能会导致应用不可用,请评估后谨慎使用。