不知何故,将鼠标悬停在 Google+ 加一小部件上可以引入明显大于 <iframe>
的工具提示类型交易包含它的元素。我已经检查了 DOM 以确认这一点。*
所以:
什么?怎么办!?
如果恶意使用,这不是点击劫持的大好机会吗? (想象一下有人为这些社交小部件做了 MITM!)
*更新:我看到的是 tooltip-y 消息是在一秒钟内,动态创建的 iframe
.
最佳答案
Google +1 小工具是 JavaScript that runs on your website那就是构建一个 iframe
。此 JavaScript 小部件在您网站的上下文中运行,因此不受 Origin Inheritance Rules for iframes 的限制。 .因此,这个 JavaScript 小部件可以在父站点上设置它想要的任何 DOM 事件,即使它看起来只是一个简单的 iframe
。
另一件事,为什么 Google 使用 iframe
?为什么不直接在页面上生成一个 div
呢?因为链接源自 iframe
,所以可以在请求中嵌入 CSRF(跨站点请求伪造) token ,而父站点无法读取此 token 并伪造请求。所以 iframe
是一种反 CSRF 措施,它依赖于 Origin Inheritance 规则来保护自己免受恶意父项的侵害。
从攻击的角度来看,这更像是 XSS(跨站点脚本)而不是 UI-Redress。您允许 Google 访问您的网站,他们可以劫持您用户的 cookie 或对您的网站执行 XmlHttpRequests
(如果他们愿意的话)(但随后人们会起诉他们恶意和富有)。
在这种情况下,您必须信任 Google,但 Google 不信任您。
There are ways of mitigating the privacy impact of these web-bugs .
关于html - Google+ +1 小部件如何突破其 iframe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313037/