0

为了防止 .NET 4.0 MVC Web 应用程序中的跨站点伪造攻击,我们使用 .NET 为每个页面生成 CSRF 令牌@Html.AntiForgeryToken()。令牌验证是使用[ValidateAntiForgeryToken]框架在相应控制器和操作中提供的 api 在每个请求处理上完成的。

当来自客户端浏览器的请求被跟踪并使用此跟踪数据从代理工具再次发送时,服务器应用程序接受它并且不显示验证错误。

跟踪数据将包含生成的令牌值 ( __RequestVerificationToken) 和请求正文。

该应用程序启用了 SSL(自签名)并托管在 HTTPS 中。

工具可以从请求正文中复制经过验证的令牌,并且他可以使用这个旧令牌发送新请求。即经过验证的令牌仍然可用。使已生成的表单令牌无效或删除的任何方式。

我们想知道,是否有任何其他安全措施需要考虑来防止跨站点攻击。

4

1 回答 1

2

您描述的攻击是中间人/重放攻击,而不是 CSRF 攻击。MVC 的 anti-CSRF API 确实支持重放保护,但设置它并非易事,而且听起来这并不一定能解决您的问题。例如,如果我可以 MITM 您的应用程序,那么我就可以完全访问您的身份验证 cookie。我只需能够以您的身份登录,我就不必担心我的 CSRF 令牌是否有效,因为我可以随时要求服务器为我生成新的有效令牌。

您要解决的确切情况是什么?

于 2013-12-24T15:53:53.980 回答