16.14. Open redirectors
打开重定向器是一个端点,使用参数自动将用户代理重定向到参数值指定的位置,而无需验证。攻击者可以利用最终用户授权端点和重定向 URI 参数将授权服务器用作开放重定向器,使用授权服务器中的信任来启动网络攻击。
Red Hat build of Keycloak 要求所有注册的应用程序和客户端都至少注册一个重定向 URI 模式。当客户端请求红帽构建的 Keycloak 执行重定向时,红帽构建的 Keycloak 会根据有效注册 URI 模式列表检查重定向 URI。客户端和应用程序必须作为特定的 URI 模式注册,以缓解开放重定向器攻击。
如果应用程序需要非 http (s)自定义方案,它应该是验证模式的一个显式部分(例如 custom:/apppassphrase
)。出于安全考虑,常规模式(如 *
)不会覆盖非 http。
通过使用 客户端策略,管理员可以确保客户端无法注册打开的重定向 URL,如 *
。