我想为某些站点启用跨站点脚本。具体来说,我想向第 3 方站点提交一个 Web 表单,我已经为 Web 表单对子 iframe 的响应设置了目标 iframe,现在我希望我的主窗口中的代码能够检索响应网页的内容。
假设我可以通过简单地禁用 Internet Explorer 中的 XSS 过滤器来完成上述操作,我是否正确?还是还需要其他东西?另外,如何在 Firefox 中启用跨站点脚本(对于相同的场景?)
我想为某些站点启用跨站点脚本。具体来说,我想向第 3 方站点提交一个 Web 表单,我已经为 Web 表单对子 iframe 的响应设置了目标 iframe,现在我希望我的主窗口中的代码能够检索响应网页的内容。
假设我可以通过简单地禁用 Internet Explorer 中的 XSS 过滤器来完成上述操作,我是否正确?还是还需要其他东西?另外,如何在 Firefox 中启用跨站点脚本(对于相同的场景?)
IE 的 XSS 过滤器不能防止基于 DOM 的 XSS。因此,为了跨域执行 javascript 有效负载,您可以简单地运行eval()
请求变量或使用document.write()
.
更常见的方法是使用“跨域代理”。主要是因为这种方法通常不会引入可用于攻击您的用户的漏洞。
我是否正确假设我可以通过简单地禁用 Internet Explorer 中的 XSS 过滤器来完成上述操作?
不,XSS 过滤器不对这个限制负责。
还是同样需要其他东西?
无法从网页中启用跨域请求——对跨域请求的限制是 Web 安全模型的基本部分。但是,对于开发,您可以使用该标志启动 Google Chrome--disable-web-security
以允许您发出跨域请求。这有助于开发 Web 应用程序,其中应用程序必须访问托管在另一个域上的 API。