绕过iframe沙箱?

use*_*989 26 html javascript jquery html5

有人在使用我的网站

<iframe src="http://example.org" sandbox=""></iframe> 
Run Code Online (Sandbox Code Playgroud)

这样,沙箱属性会阻止我的网站在其上使用iframe拦截器.它很容易被打造.

我网站上的帧破坏者:

if (window.top !== window.self) window.top.location.replace(window.self.location.href);
Run Code Online (Sandbox Code Playgroud)

当与沙盒属性一起使用时,是否有一种编程方式重定向到我的网站?

Sud*_*iti 17

如果可以通过X-Frame-Options响应头保护iframing ,请设置X-Frame-Options value="DENY"X-Frame-Options value="SAMEORIGIN".通过此响应标头设置,您可以保护您的网站免受IFraming或clickjack攻击.

一旦X-Frame-Options响应标头被设置,浏览器接收像"此内容不能被显示在一个帧"的标准消息.


Ric*_*d B 10

sandbox属性正在关闭所有javascript,以及其他内容.这就是为什么你的帧破坏者不会工作,也没有任何其他人提供的javascript.

W3说沙箱:

  • iframe中禁止/禁用脚本
  • iframe中不允许/禁用指向其他浏览上下文的链接

测试显示该属性还会禁用元重定向以及突破iframe的任何标准链接.

有了这种严格性,如果可以进行重定向,我会感到非常惊讶,因为那会破坏沙箱的重点.

我可以建议的最好方法是使用noscript标记向用户在沙盒iframe中查看页面时显示一条消息.您可以设计样式,以便人们看不到您的内容.

(如果只是一个站点存在问题,那么使用htaccess阻止它们可能是更好的方法)