确保脚本注入和执行第三方iframe

时间:2011-07-03 13:18:23

标签: javascript security

我希望能够将脚本注入到我自己的服务器提供的页面中的iframed页面(托管在第三方服务器上)(以显示wysiwyg应用程序的更改)。

由于我在'target'页面上有一个小的存根脚本,我猜我只能有一个方法允许任意脚本执行传递给它的任何东西。显然这听起来不像是安全的东西,因为它会为一些整洁的XSS打开一个攻击向量。我保护它的一个想法是将一些令牌与我想要运行的脚本一起传递,存根客户端代码将检查服务器,然后才执行脚本。这有意义吗?任何人都可以指出我的任何先例吗?

非常感谢

1 个答案:

答案 0 :(得分:2)

首先,听起来你在实际的iFrame中控制了少量代码。而不是你的建议允许其他人通过该存根注入脚本(这会打开各种攻击),为什么不在iframe中放置你想要的实际“安全”代码然后只是通知一个结果的父框架?

其次,有关于安全的跨域iframe通信的网页很多。由于我仍然不确定你想要做什么,你可能需要自己进行搜索并找到最适合你的机制。 Google搜索“安全跨域iframe通信”会发现大量信息。

第三,我遇到并且最喜欢的文章是Cross Domain Communication with iFrames,最安全的技术看起来像postMessage,因为它只共享数据,不允许代码调用,并且实际上可以检查原点是什么它信任,虽然postMessage只在较新的浏览器中可用,所以你必须回到其他一种适用于旧版浏览器的技术。这是一个jQuery plugin,它在可用时使用postMessage,在没有时使用另一种技术。

如果此信息不够,那么请告诉我们更多关于您在iFrame中尝试做什么的信息或您尝试在两个来源之间传递的信息?

相关问题