我将通过 20072010 OWASP Top 10 列表

我偶然发现了跨站点请求伪造 (CSRF),这通常被称为 session 骑行,因为您让用户使用他的 session 来满足您的愿望。

现在对此的解决方案是向每个 url 添加一个 token ,并针对每个链接检查此 token 。

例如,要对产品 x 进行投票,网址将是:

'http://mysite.com?token=HVBKJNKL'

这看起来是一个可靠的解决方案,因为黑客无法猜测 token 。

但我在考虑以下场景( 我不知道是否有可能 ):

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

当您将我的网站加载隐藏在您的网站中,并且用户已存储 session 时,可以执行以下操作。您可以从 URLS 检索 token ,并且仍然可以执行所有需要的操作。

有没有可能做这样的事情。或者是不可能做这个跨域。

最佳答案

您所描述的攻击明显违反了 Same Origin Policy 。 , iframe 不会以这种方式 inherit privileges。发现了许多绕过同源策略的方法。解决这些问题的唯一方法是人们提出这样的问题。我敦促你尝试编写代码来绕过这个问题,即使它失败了。最坏的情况是你会学到一些重要的东西,最好的情况是你会发现一个问题,把它发布到 bugtraq ,然后开派对:)。哦,每个人都会更安全地修复错误。

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

关于security - 您如何防范特定的 CSRF 攻击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2579882/

10-11 01:10
查看更多