如何突破沙盒iFrame?

She*_*hef 6 safari iframe html5 google-chrome sandbox

1.问题是什么?

sandbox添加属性的iFrame中HTML5规范元素渲染任何帧断裂/破坏/灭杀方法在空现代浏览器如果标志(与铬,Safari浏览器的当前版本测试)allow-top-navigation没有被设置,即使标志allow-formsallow-scripts存在.

2.我试过了什么?

  • 任何JavaScript方法,例如 if(top != self) top.location.replace(location);

  • 在具有该target="_top"属性的表单上触发提交事件

  • 使用该target="_top"属性触发锚元素上的单击事件.实际上,具有该target="_top"属性的锚元素将变得无用.因此,建议用户采取行动的好消息也不起作用(如此Flickr iFrame示例所示).

3.我想要实现的目标?

我想要一种方法来打破现代浏览器上的框架,这些框架已经实现了sandbox带有标志allow-formsallow-scripts存在的iFrames属性?

似乎他们刚刚给所有带有这个属性的黑帽子提供了一个拼图的缺失部分.

4.我不想要的是什么?

我正在寻找一个解决方案,它将打破框架.不是一个解决方案,它不会在框架内显示网站(如X-Frame-Options响应标头)或使用CSS来隐藏身体等.

Jon*_*ley 7

我担心你找不到解决方案,因为沙盒的意思是你无法摆脱它.

如果有一个黑客爆发,它将被供应商归类为安全问题并快速修补.

  • 我知道你不是在追求黑客攻击。该规范是这样的,以允许父页面安全地包含来自外部源的内容。例如,嵌入来自视频提供商、广告服务器、社交网络等的内容。我建议如果您不想嵌入您的内容,请使用 JS 检查是否嵌入,然后清除您的内容。 (2认同)