背景/背景:
使用任何启用了用户登录的现成 ASP.NET Core 模板。您也可以使用外部登录提供商 google、facebook、msft 等。或者,只需克隆此示例 Web 应用程序:https://github.com/dotnet-architecture/eShopOnWeb
测试:
- 登录到创建的测试网站。 (我们使用的测试用户名:neel)
- 使用 Fiddler 或 Web 开发人员工具等记录任何授权的 Web 请求。我们记录了 eShopOnWeb 示例网站的 /basket 请求,其中显示了登录用户的个性化购物车。
- 退出。
- 关闭浏览器。
- 以访客模式打开网站。 (不要登录)。您可以选择完全不同的浏览器。
- 重放第 2 步。(这使用包含 cookie、令牌等的完全相同的标头)
观察:
这样就成功返回了用户的购物车商品。
我面临两个问题:
- 这是与登录相关的漏洞吗?我觉得是这样的!!令牌不应该随着注销而过期(会话销毁)吗?
- 如果这是一个漏洞,如何修复它? Identity 内置了防伪令牌,但它似乎无济于事。