我有一个关于Mvc防伪标记的问题
在mvc razor页面中,我们可以在表单中放置代码:@Html.AntiForgeryToken()
,它会生成一个令牌,这个令牌会填充到一个隐藏的输入字段中,例如:
<input name="__RequestVerificationToken" type="hidden"
value="6I2CsrmAhiDlHewQ4q4khXAENgaa66kDiGwHgaN5DV0f4W2_c2nyVA-q2OCingcgKLPNhSSeyuS_WaTmAGzpo3F5gUq9Wx89iXH1ujq6ZwGG5rO8v_F-4hYj5gEVZ1-E-DpxkcO7zIjMUKVH1bjPMo7Ot3UJHLl5r9isfCLyiOA1">
问题:我可以轻松创建一个请求来下载这个MVC Razor页面,以获取“__RequestVerificationToken”字段中的令牌,然后发送错误数据来攻击指定的服务器。这是否意味着防伪令牌功能也不安全?
回答:这并不意味着防伪令牌功能不安全。攻击者需要知道如何获取有效的令牌并将其用于恶意目的。因此,建议您采取必要的措施来保护您的应用程序,例如使用HTTPS和定期更改密钥。