我一直在阅读不同域名的iframe,然后是父文档,我有点困惑。
我了解如果Iframe来自与其父文档相同的域,则父文档可以访问iframe的文档。看起来我可以用以下黑客来规避这个:
mydomain.com
mydomain.com/index.html
mydomain.com/othersite -> site2.com
添加到<iframe src="mydomain.com/othersite">
页面这似乎会绕过相同的原始政策,用户也不会更聪明。有什么我想念的吗?
答案 0 :(得分:2)
是的,有些东西你不见了。
同源策略确保客户端访问网站。
如果您将mydomain.com/othersite
设置为代理site2.com
,则浏览器不会将site2.com
的用户Cookie发送到您mydomain.com
的网站。您将获得的是您的网站为该用户mydomain.com
设置的Cookie。也就是说,您要攻击的只是mydomain.com
与site2.com
的会话,而不是用户与site2.com
的会话(因为您的反向代理有效地使mydomain.com
成为site2.com
此连接的客户)。
如果是一种规避同源策略的方式,那么这必须是客户端的一部分,以便让浏览器向您的域发送cookie。
我意识到我在这里专注于cookie,但是Cookie是一个易于理解的概念,即同源策略保护的客户端对象的示例。你的appoach 允许你操纵site2.com
的DOM,但它不会在访问者访问site2.com
的上下文中,它会在您自己访问site2.com
的上下文 - 访问者访问的任何内容都无法更改,除非他们信任您的网站足以直接登录代理版本{{1}}。