路由滥用
暴露路由
暴露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过滤器绕过,从而允许访问受限区域。

参考:
最后更新于