web2py 中的一个漏洞(CVE-2023-22432)于 2023 年 1 月 31 日(美国时间)披露。本文介绍我们对这个漏洞的讨论以及验证结果。
该漏洞是 web2py 中的一个开放重定向漏洞,允许在管理页面 URL 中将任意 URL 指定为回调目标 URL。虽然 web2py 原本已针对开放重定向实施了防护措施,但通过将一种特殊的绕过方法应用于 URL,便可复现此漏洞。这可能将你引向恶意网站。
2022 年,web2py 中发现了一个开放重定向漏洞(CVE-2022-33146)。我们想知道是否还存在类似 CVE-2022-33146 的其他漏洞,于是检查了 web2py 的源代码,并找到了绕过开放重定向防护的方法。Aeye Security Lab 的 Takuto Yoshikai(作者)已将此事报告给 IPA 和 web2py 开发团队。
运行此存储库中的 build.sh。然后 web2py 将启动。
bash build.sh
访问 http://localhost:8000/admin/default/index/?send=//example.com
输入密码 "password123",然后点击 Login。
它没有重定向到 example.com,因此开放重定向防护工作正常。
访问 http://localhost:8000/admin/default/index/?send=\/\/example.com
payload 为 \/\/example.com。
输入密码 "password123",然后点击 Login。
它重定向到了 example.com,因此开放重定向防护未正确生效。
经过审查和验证,我们确认通过构造管理页面 URL 可以将管理员引导至恶意网站。我们建议尽快更新系统。