C# 什么';什么是使用uu RequestVerificationToken?

C# 什么';什么是使用uu RequestVerificationToken?,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我们有一个.NETC#MVC应用程序,其中包含一些表单,运行良好。现在我们还有一个ASP Classic vbscript页面,需要与这些表单交互,但是使用一个常规帖子,我们得到一个错误,说没有设置u RequestVerificationToken 因此,我们请求页面,然后将来自隐藏输入的令牌和cookie存储在一个变量中,并在POST请求中向其发送long。它是有效的 但既然绕过它如此简单,它还有什么用呢?它几乎不提供任何保护。这是一种防伪令牌(防止CSRF攻击)。它保证海报是获得表单的人

我们有一个.NETC#MVC应用程序,其中包含一些表单,运行良好。现在我们还有一个ASP Classic vbscript页面,需要与这些表单交互,但是使用一个常规帖子,我们得到一个错误,说没有设置u RequestVerificationToken

因此,我们请求页面,然后将来自隐藏输入的令牌和cookie存储在一个变量中,并在POST请求中向其发送long。它是有效的


但既然绕过它如此简单,它还有什么用呢?它几乎不提供任何保护。

这是一种防伪令牌(防止CSRF攻击)。它保证海报是获得表单的人


它可以防止任何人伪造链接,并让有能力的用户激活链接。

是的,在GET请求下可以这样做。然后将这些东西放在适当的位置,这样它们就不会像图片一样隐藏链接。但由于这是一个POST请求,攻击者不能简单地使用表单上的某个链接。他需要javascript或他可以控制的常规表单。如果有权访问,他还可以代表用户请求令牌并使用它。@HugoDelsing:通过阅读,我们了解ValidateAntiForgeryTokenAttribute是如何工作的。但是没有身份验证(即授权过滤器)的imho令牌在您的帖子中指出时是无用的。身份验证可防止攻击者获取有效的令牌。@tschmit007在CSRF攻击中,攻击者不需要动手操作令牌。令牌(以及身份验证cookie)仅在受害者和web服务器之间传输。诀窍是诱使受害者发布帖子(可能看起来像是点击链接,通过一个隐藏的javascript表单),并滥用他们的授权来实现受害者不想做的事情。