2012-08-15 114 views
2

安全性 - 通过设计 - 是否存在于同一个HTML容器(客户端)上的JavaScript和Flash应用程序之间的呼叫ExternalInterface API是否可以安全地将变量从JavaScript传递给Flash应用程序?

它可以 - 通过设计 - 截获?

提示:ExternalInterface的API参考(以上)读取

ExternalInterface类要求用户的Web浏览器支持 任的ActiveXNPRuntime API是由某些浏览器 暴露用于插件脚本。见 http://www.mozilla.org/projects/plugins/npruntime.html

感谢

+1

@大卫你需要一个钥匙来做到这一点。将硬编码密钥存储在Flash应用中是没有意义的(可以对其进行反编译) – 2012-08-15 13:57:57

+0

如果它在客户端上运行,它可以被拦截。 – zzzzBov 2012-08-15 14:10:53

+0

@zzzzBovm你能解释一下吗? – 2012-08-15 14:51:20

回答

2

取决于你的意思是通过拦截?如果您信任拨打ExternalInterface的页面/沙箱,那么它很安全。我能想到的唯一攻击矢量就是黑客修改了__flash__toXML javascript函数。

另一点值得注意的是,ExternalInterface.call is vulnerable to XSS attacks;所以如果参数来自用户,则必须始终对其进行消毒。

+0

感谢Jonny,变量将来自后端,而不是来自用户,但感谢链接,这非常有趣。 “修改__flash__toXML javascript函数”是什么意思?可以预防吗?谢谢 – 2012-08-15 14:50:10

+0

我不知道这些是多么可笑。这些日子我并没有这么做,但它可能成为一个有趣的XSS漏洞。和往常一样,如果你可以信任HTML页面,那么你应该很好的去 - 只要记住所有的数据将以清晰的方式发送,这样用户就可以看到。 – JonnyReeves 2012-08-16 08:50:38

相关问题