Iframes 和同源策略和反向代理 hack

Iframes and Same-Origin-Policy and reverse proxy hack

我一直在阅读与父文档不同域的 Iframe,我有点困惑。

我了解如果 iframe 与其父文档来自同一域,则父文档可以访问 iframe 的文档。看来我可以通过以下 hack 来规避此问题:

  1. 我在 mydomain.com
  2. 设置了一个网络服务器
  3. 我提供来自 mydomain.com/index.html
  4. 的原始页面
  5. 我在网络服务器上为 mydomain.com/othersite -> site2.com
  6. 设置了代理
  7. <iframe src="mydomain.com/othersite"> 添加到 mydomain.com/index 页面

这似乎可以规避同源策略,用户 none 会更明智。有什么我想念的吗?

是的,您缺少一些东西。

同源策略保护网站访问的客户端。

如果您将 mydomain.com/othersite 设置为代理到 site2.com,则浏览器不会将 site2.com 的用户 cookie 发送到您位于 mydomain.com 的站点。您将获得的只是您的网站在 mydomain.com 上为该用户设置的 cookie。也就是说,您要攻击的只是您与 site2.commydomain.com 会话,而不是用户与 site2.com 的会话(因为您的反向代理有效地使 mydomain.com 成为此连接的客户端).

如果有办法规避同源策略,这必须是客户端才能让浏览器向您的域发送 cookie。

我意识到我在这里集中讨论了 cookie,但是 cookie 是同源策略保护的客户端对象示例的一个易于理解的概念。您的方法 允许您操纵 site2.com 的 DOM 但它不会出现在您的访问者访问 site2.com 的上下文中,它会在您自己访问 site2.com 的上下文中 - 访问者访问的任何内容都不能更改,除非他们足够信任您的网站以直接登录代理版本 site2.com