是否有可能在每次验证后使ASP.NET MVC中的AntiForgeryToken值发生变化?

时间:2010-02-08 09:51:28

标签: asp.net-mvc security antiforgerytoken

我们刚刚对使用ASP.NET MVC构建的应用程序进行了一些渗透测试,其中一个建议是表单中AntiForgeryToken的值可以多次重新提交,一次使用后没有过期。

根据同步器令牌模式周围的OWASP recommendations

“通常,开发人员只需为当前会话生成一次此令牌。”

我认为ASP.NET MVC AntiForgeryToken的工作原理。

如果我们必须打仗,是否有可能在每次验证后让AntiForgeryToken重新生成一个新值?

2 个答案:

答案 0 :(得分:8)

防伪令牌只是一个反XSRF令牌。特别是,一次性使用nonce。如果您的应用程序需要一次性使用nonce,则不能将防伪令牌用于此目的。没有内置功能。<​​/ p>

答案 1 :(得分:-1)

也许您可以使用the three parameters constructor来使用AntiForgeryToken。

始终建议使用salt,但通过域和路径限制令牌将使您的令牌更安全且每页唯一。

如果您没有XSS漏洞,这个问题在您的网站上不会是一个大问题:) //我写了这个吗?当然,我没有很好地解读这个问题。

干杯!