漏洞关键信息 漏洞摘要 问题: 函数存在逻辑错误,允许攻击者通过多余的前导斜杠绕过域名验证(例如, ),导致用户在成功登录后立即被重定向到外部恶意站点。 漏洞类型: CWE-601: URL Redirection to Untrusted Site ('Open Redirect')。 目标信息 项目: mwielpiszewski/doorman 版本: 9a9b97c814625fcdd281b55c82177c9f777c5526 (Current Master) 易受攻击文件: doorman/users/views.py 易受攻击函数: 漏洞细节 易受攻击函数: 绕过载荷: 技术分析 问题原因: 服务器端解析器(Python)和客户端解析器(现代浏览器)在解释冗余斜杠时存在不一致。 服务器端行为(Python/Flask): 当处理载荷时,Python 的 将多个前导斜杠视为路径段而不是新的权威/域名。 客户端行为(浏览器): 根据 WHATWG URL 标准,浏览器会“折叠斜杠”,忽略原始域并直接导航到目标 URL。 复现步骤(PoC) 要求: 使用原始 实现进行 Flask 环境中的测试。 测试用例 用例 1(成功阻止): 访问 -> 结果:访问被阻止/阻止(正确)。 用例 2(绕过): 访问 -> 结果:发出 302 重定向。 观察结果 浏览器从本地应用中导航出去并加载 。