html - Google+ +1 小部件如何突破其 iframe?

标签 html security browser iframe google-plus-one

不知何故,将鼠标悬停在 Google+ 加一小部件上可以引入明显大于 <iframe> 的工具提示类型交易包含它的元素。我已经检查了 DOM 以确认这一点。*

iframe boundaries

所以:

  1. 什么?怎么办!?

  2. 如果恶意使用,这不是点击劫持的大好机会吗? (想象一下有人为这些社交小部件做了 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/

相关文章:

javascript - 有没有一种方法可以使用 Javascript 跟踪从哪个 window.name 打开了一个新窗口(在新选项卡中打开)?

javascript - 旋转文本保持宽度

html - "Bad value expires for attribute http-equiv on element meta"

c++ - c++ 哈希函数对密码来说是否相当安全?

javascript - tensorflow js 模型(从 Keras 转换而来)有 3 个输出。我怎样才能提取它们?

javascript - 如何在没有默认 Accept header 的情况下重定向?

html - 具有灵活的固定标题行和可滚动主体的表格

html - 在 Angular 6 应用程序中使用静态 HTML 登陆页面模板

mysql - Django,权限错误:OSError at/upload/[Errno 13] Permission denied:

java - 在jsp eval表达式中读取文件