如何突破沙盒 iFrame?
Posted
技术标签:
【中文标题】如何突破沙盒 iFrame?【英文标题】:How to break out of a sandboxed iFrame? 【发布时间】:2012-11-27 01:16:00 【问题描述】:1。有什么问题?
如果 allow-top-navigation
未设置标志,则为 html5 规范中的 iFrame 元素添加的 sandbox
属性会在 modern browsers(使用当前版本的 Chrome 和 Safari 测试)中呈现任何帧中断/破坏/杀死方法 null ,即使存在 allow-forms
和 allow-scripts
标志。
2。我尝试了什么?
任何 javascript 方法,例如 if(top != self)
top.location.replace(location);
在表单上触发提交事件
带有target="_top"
属性
触发点击事件
具有target="_top"
属性的锚元素。事实上,具有target="_top"
属性的锚元素被渲染为无用。因此,建议用户采取行动的好消息也不起作用(如Flickr iFrame example 所示)。
3。我想达到什么目标?
我想要一种方法来打破现代浏览器上的框架,这些浏览器已经为 iFrame 实现了 sandbox
属性,并带有 allow-forms
和 allow-scripts
标志?
似乎他们刚刚给所有具有此属性的黑帽提供了拼图的缺失部分。
4。我不是在寻找什么?
我正在寻找一种解决方案,它会打破框架。不适用于不会在框架内显示网站(例如X-Frame-Options
response header)或使用 CSS 隐藏正文等的解决方案。
【问题讨论】:
似乎他们刚刚给所有具有此属性的黑帽人提供了拼图的缺失部分。请不要谈论政治。 【参考方案1】:恐怕你找不到解决方案,因为沙盒的关键是你无法摆脱它。
如果有黑客入侵,供应商会将其归类为安全问题并迅速修补。
【讨论】:
这并不完全正确。沙盒是用来破解的(看看 ios 越狱和 android 根设备)。可能没有已知的方法可以破坏最新的 Chrome 和 Safari,但我很确定旧版本存在已知问题。 当然。但问题是关于现代浏览器版本——所有这些版本都有自动更新程序,所以任何黑客发现的渗透率都会很高兴地下降。 @JonathanHedley 实际上,我不是在寻找黑客。我正在寻找一种合法的方式来打破框架。我不知道为什么规范的起草者会这样做,但似乎他们正在为 leechers(新手黑客和大型军团等)提供一种按照他们的意愿构建我们的好方法。 我知道你不是在黑客攻击之后。规范是这样的,以允许父页面安全地包含来自外部资源的内容。例如。嵌入来自视频提供商、广告服务器、社交网络等的内容。我建议如果您不想让您的内容被嵌入,请使用 JS 来检查您是否是并清除您的内容。 @JonathanHedley 嗯...我希望他们能给我们提供比破碎的X-Frame-Options
更多的选择,它不允许完整的例外列表,以及我们自己的网站的污损。现在的样子,太破了,叹息……但是,我现在要进行破坏了。我希望那些骗子不会为我的框架站点禁用 JS。 :/ 这不是我想要的,但我要把赏金奖励给你,否则它会被浪费掉。感谢您的宝贵时间。以上是关于如何突破沙盒 iFrame?的主要内容,如果未能解决你的问题,请参考以下文章