路由滥用

暴露路由

暴露Spring应用程序的相关接口和参数信息并不是漏洞,但它有助于理解应用程序。此外,在检查访问控制漏洞等时可以使用它。

检查以下路由以查看应用程序是否提供路径和参数信息:

此外,检查以下Spring Boot Actuators相关路由,它们可以暴露接口地址信息(但不包括参数相关信息):

参考:

使用/..;/进行路径遍历

Spring Boot > 2.2.6将https://website.com/allowed/..;/internal视为与https://website.com/allowed/../internal相同。

这可能导致Spring和中间件之间的不一致性。例如,如果应用程序部署在nginx后面,您可以绕过对允许路径的限制。假设nginx将所有对/allowed/的请求转发到应用程序并拒绝其他请求。在这种情况下,对/allowed/../internal的请求将被阻止,但是/allowed/..;/internal不会被阻止 - nginx会将其原样传递给应用程序,它将命中/internal

参考:

useSuffixPatternMatch错误配置

Spring Framework版本< 5.3有一个名为useSuffixPatternMatch的设置(在5.2.4中已弃用)。它启用了后缀模式匹配,默认设置为true。这意味着映射到/adminURL的方法也会匹配/adminURL[.].*。因此,这可能导致潜在的URL过滤器绕过,从而允许访问受限区域。

参考:

最后更新于