iframe和Same-Origin-Policy和反向代理破解

时间:2015-01-29 17:17:55

标签: html security iframe same-origin-policy

我一直在阅读不同域名的iframe,然后是父文档,我有点困惑。

我了解如果Iframe来自与其父文档相同的域,则父文档可以访问iframe的文档。看起来我可以用以下黑客来规避这个:

  1. 我在mydomain.com
  2. 设置了一个网络服务器
  3. 我从mydomain.com/index.html
  4. 投放原始页面
  5. 我在{@ 1}}
  6. 的网络服务器上设置了代理
  7. mydomain.com/othersite -> site2.com添加到<iframe src="mydomain.com/othersite">页面
  8. 这似乎会绕过相同的原始政策,用户也不会更聪明。有什么我想念的吗?

1 个答案:

答案 0 :(得分:2)

是的,有些东西你不见了。

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

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

如果是一种规避同源策略的方式,那么这必须是客户端的一部分,以便让浏览器向您的域发送cookie。

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