如何突破沙盒iFrame?

时间:2012-12-09 11:56:49

标签: html5 google-chrome iframe safari sandbox

1。有什么问题?

在HTML5规范中为sandbox元素添加的iFrame属性会在modern browsers中呈现任何帧中断/清除/终止方法为空(如果使用当前版本的Chrome和Safari测试)即使标志allow-top-navigationallow-forms存在,也未设置标记allow-scripts

2。我试过了什么?

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

  • 触发表单上的提交事件 使用target="_top"属性

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

3。我想要实现什么?

我想要一种方法来突破现代浏览器上的框架,这些框架已经为iFrames实现了sandbox属性,并且标记为allow-formsallow-scripts

似乎他们刚刚给所有具有此属性的黑帽子提供了拼图的缺失部分。

4。我不想要的是什么?

我正在寻找一种能够打破框架的解决方案。不是解决方案,它不会在框架内显示网站(例如X-Frame-Options response header)或使用CSS来隐藏正文等。

1 个答案:

答案 0 :(得分:7)

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

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