从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 漏洞名称:Session is cached for OpenID and OAuth2 if is not used - 漏洞等级:High - 发布者:br41nslug - 漏洞编号:GHSA-cff8-x7jv-4fm8 - 发布日期:昨天 2. 受影响的版本: - 受影响的版本:<=10.13.2, <=11.0.2 - 已修复的版本:10.13.3, 11.1.0 3. 漏洞详情: - 漏洞描述:未授权用户可以通过OpenID或OAuth2访问已认证用户的凭证,如果认证URL不包含 查询字符串。 - 漏洞示例: - 项目配置了OpenID或OAuth2。 - 项目配置了缓存功能。 - 用户尝试通过SSO链接登录,但未包含 查询字符串。 - 登录成功后,凭证被缓存。 - 如果未授权用户尝试通过SSO链接登录,将返回其他用户的凭证。 4. 漏洞原因: - Directus使用了 中间件来缓存GET请求,但默认情况下不包括未授权请求返回的用户凭证。 5. PoC(Proof of Concept): - 创建一个新的Directus项目。 - 设置 为true。 - 设置 为redis。 - 配置 为redis字符串或redis主机、端口、用户等。 - 设置 为openid。 - 设置 为主URL。 - 配置 , , 等。 - 在OpenID外部应用中配置重定向URI。 - 运行Directus。 - 打开SSO链接。 - 在OpenID外部页面进行认证。 - 验证是否被重定向到包含 的页面。 - 确保所有匿名模式窗口已关闭。 - 打开匿名窗口并访问SSO链接,查看是否有相同的凭证。 6. 影响: - 所有使用OpenID或OAuth2的项目,如果未包含 查询字符串,可能导致未授权用户访问已认证用户的凭证。 这些信息可以帮助理解漏洞的性质、影响范围以及如何利用漏洞进行攻击。