我一直在我的MVC3 Web应用程序中实现ASP ARF令牌,并阅读CSRF漏洞利用的工作方式以及ARF令牌如何防御它。现在我想知道'黑客'是否无法通过额外的步骤绕过ARF检查。正常的CSRF场景如下:
由于我们的ARF令牌,BankingSite知道忽略来自网站HackerSite的POST。因为它缺少正确的AFR令牌。谁能告诉我为什么黑客不能通过首先在BankingSite上执行GET请求来获取令牌?像这样:
有谁知道我在这里缺少什么,以及ARF如何抵御这种攻击?
答案 0 :(得分:1)
攻击者并不知道受害者的cookie。令牌生成基于它。如果您的网站有其他XSS漏洞,此方法无法帮助您解决CSRF漏洞问题。
如果发送AJAX referer标题将是HackerSite,而不是BankSite。因此,您无法访问网站的封闭部分(无法访问CSRF令牌)。这只是Http-Only,因此您无法通过javascript获取它。如果您想将受理请求发送到受害者站点,您的计划将失败。