2012-08-15 60 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

相關問題