在ASP.NET MVC中,ValidateAntiForgeryTokenAttribute调用的验证逻辑允许使用匿名防伪标记,即没有任何用户特定信息(如IIdentity.Name或ClaimUid)的标记.
因此,如果未使用声明且登录后未设置HttpContext.User(并非罕见),则系统的恶意用户可以使用恶意用户自己的合法获取的防伪令牌对任何其他用户发起CSRF攻击.
这似乎并不可取.为什么允许使用匿名令牌?
.net asp.net-mvc csrf
.net ×1
asp.net-mvc ×1
csrf ×1