Security 如何防范特定的CSRF攻击

Security 如何防范特定的CSRF攻击,security,csrf,owasp,Security,Csrf,Owasp,我正在浏览和的OWASP前10名列表 我偶然发现了跨站点请求伪造(CSRF),这通常被称为会话骑马,因为你让用户使用他的会话来实现你的愿望 现在,解决这个问题的一个方法是向每个url添加一个令牌,并为每个链接检查该令牌 例如,要对产品x进行投票,url应为: 'http://mysite.com?token=HVBKJNKL' 这看起来是一个解决方案,因为黑客无法猜测令牌 但是我想到了以下情况(我不知道这是否可能): 您可以创建一个带有隐藏iFrame或div的网站。之后,您可以使用普通iFr

我正在浏览和的OWASP前10名列表

我偶然发现了跨站点请求伪造(CSRF),这通常被称为会话骑马,因为你让用户使用他的会话来实现你的愿望

现在,解决这个问题的一个方法是向每个url添加一个令牌,并为每个链接检查该令牌

例如,要对产品x进行投票,url应为:

'http://mysite.com?token=HVBKJNKL'
这看起来是一个解决方案,因为黑客无法猜测令牌

但是我想到了以下情况(我不知道这是否可能):

您可以创建一个带有隐藏iFrame或div的网站。之后,您可以使用普通iFrame或ajax在其中加载我的网站

当您将我的网站隐藏在您的网站中,并且用户有一个存储的会话时,可以执行以下操作。您可以从URL中检索令牌,并且仍然执行所需的所有操作


有可能这样做吗。或者不可能跨域执行此操作。

这种情况不太可能,因为虽然他们可以帧到,但他们需要令牌使其帧到。如果他们有令牌,那么你无论如何都不安全。

你描述的攻击显然违反了,我不想这样。发现了许多到同一来源策略的旁路。解决这些问题的唯一办法是人们提出这样的问题。我敦促您尝试编写代码来绕过这个问题,即使它失败了。最坏的情况是你会学到一些重要的东西,最好的情况是你会发现一个问题,把它发布到一个聚会上:)。Oah和每个人都会更安全地进行bug修复


XSS可用于绕过同源策略为特定易受攻击站点提供的保护。XSS漏洞可用于使用XmlHttpRequest读取XSRF令牌。是一个利用写了这样做

好的,但是他们在主网站的iframe中有mysite.com。在主网站中,他们可以使用jQuery等获取链接$('#link').attr('href'),并从中减去令牌。并将此令牌附加到主网站中需要的每个链接。他们不能。同源策略将不允许他们的站点访问您的html,即使它位于iframe中。好的,我将使用我自己的网站的一些示例对此进行一些研究。我也将查看提供的代码,并在接下来的几天内报告我的发现。@Rook-只是一个小的技术修正。XSS可以击败任何XSRF保护,但它不会绕过同源策略。至少在技术上不是这样。使用XSS时,攻击者代码运行于同一域,因此不违反SOP。@Saif Bechan这里是标准的xsrf攻击,应用程序不使用令牌:这里是我编写的其他攻击,其中一些是xsrf:@Sripathi Krishnan你是对的,我更新了我的帖子。但是您也不正确,如果您使用captcha作为XSRF保护,那么xss不能通过绕过它来使用:)。(你也会惹恼用户。)@Rook-Agree。XSS不能绕过验证码,至少在正确实施验证码的情况下是如此。