我偶然发现Cross Site Request Forgery(CSRF)这通常被称为会话骑行,因为您让用户使用他的会话来实现您的愿望。
现在解决方案是向每个网址添加一个令牌,并为每个链接检查此令牌。
例如,对产品x进行投票,网址为:
'http://mysite.com?token=HVBKJNKL'
这看起来像是一个可靠的解决方案,因为黑客无法猜出令牌。
但我在考虑以下情况( 我不知道是否可能 ):
您使用隐藏的iFrame或div创建网站。之后,您可以使用普通的iFrame或ajax加载我的网站。
如果您的网站隐藏在您的网站中,并且用户已存储会话,则可以执行以下操作。您可以从URLS检索令牌,并仍然执行所需的所有操作。
是否可以做这样的事情。或者是否无法跨域进行此操作。
答案 0 :(得分:5)
您所描述的攻击明显违反了Same Origin Policy。 ,iframe不以这种方式inherit privileges。已发现许多绕过同一原产地政策的旁路。解决这些问题的唯一方法是人们提出这样的问题。我敦促你尝试编写代码来绕过这个问题,即使它失败了。最糟糕的情况是你会学到一些重要的东西,最好的情况是你会发现一个问题,把它发布到bugtraq,并举办派对:)。哦,每个人都会更安全地修复错误。
XSS可用于绕过针对特定易受攻击站点的同源策略提供的保护。 XSS漏洞可用于使用XmlHttpRequest读取XSRF令牌。 Here是一个利用写的,这样做。
答案 1 :(得分:0)
这种情况实际上并不是因为虽然他们可以框架到http://mysite.com,但他们需要令牌才能使其框架为http://mysite.com?token=HVBKJNKL。如果他们有令牌那么你就不安全了。