PhoneGap 安全吗?

Posted

技术标签:

【中文标题】PhoneGap 安全吗?【英文标题】:Is PhoneGap secure? 【发布时间】:2011-09-27 04:18:02 【问题描述】:

phonegap 已针对攻击者强化了多少?尤其是我们自己页面中的 XSS 漏洞,其中 PhoneGap API 暴露给未知的攻击者。

例如,PhoneGap.exec() 命令在 iPhone 上是否安全?

javascript 中,PhoneGap.exec 命令让我担心,例如PhoneGap.exec(successCB, errorCB, "com.phonegap.contacts","search", ["fields":fields, "findOptions":options]);(复制了用于 iPhone 目标的 JavaScript from here)。 exec 命令理论上应该受到限制,并且应该能够访问 PhoneGap API 类(本例中为 com.phonegap.contacts)和方法(例如本例中为搜索)。

如果我们的应用程序中存在 XSS 漏洞,那么与仅在浏览器沙箱中运行相比,任何攻击者的攻击面都会扩大。最终用户的手机暴露于 PhoneGap 中的任何漏洞,这些漏洞可能允许攻击者访问特权 ObjectiveC 代码/api。我能找到的关于 PhoneGap 安全was this 的唯一文档。

【问题讨论】:

不是 PhoneGap/安全专家,但所有 ios 应用程序都在自己的安全沙箱中运行,无论实施平台如何。这应该会限制任何 PhoneGap 特定安全漏洞的暴露。 developer.apple.com/library/ios/#documentation/iphone/… android 相关 - 但可能相关:groups.google.com/group/phonegap-dev/browse_thread/thread/… 这里是一个针对 Skype 的 XSS 攻击示例:theregister.co.uk/2011/09/20/skype_for_iphone_contact_theft 以下是针对 Android 的分析(可能已过时):labs.mwrinfosecurity.com/blog/… 【参考方案1】:

您可以通过修改 PhoneGap.plist/Plugins 并删除任何不需要的来控制 API 访问。

在 PhoneGap 1.1(即将推出)中 - 有一个白名单功能(在 PhoneGap.plist/ExternalHosts 中),其中只能连接某些外部 URL - 在 JavaScript 或 Objective-C 中。

【讨论】:

如果您将该答案复制到***.com/questions/7564533/…,我可以接受您的答案,因为它准确地回答了这个问题!我不确定它是否回答了上述问题:) 谢谢 OOoops - 刚刚意识到我在要求你做你已经做过的事情 - duhhh!现在打勾了。【参考方案2】:

这里谈到了 Cordova/PhoneGap 的安全问题:

http://packetstormsecurity.com/files/124954/apachecordovaphonegap-bypass.txt

“以下电子邮件于 2013 年 12 月 13 日和 2014 年 1 月 17 日再次发送至 Apache Cordova/PhoneGap。 由于没有回应,我们在此重新发布以提醒公众 Apache Cordova/PhoneGap 中的固有漏洞。”如果这是真的,我也会担心。

在 Android 上,如果 PhoneGap 使用 addJavascriptInterface() 作为桥接器,那么这会带来严重的安全隐患:

http://www.droidsec.org/news/2014/02/26/on-the-webview-addjsif-saga.html

【讨论】:

以上是关于PhoneGap 安全吗?的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap 构建 iOS 钥匙串访问?

我可以使用 Phonegap Build 在 Phonegap 中播放视频吗

我应该在 Phonegap 3 应用程序中包含 phonegap.js 吗?

Phonegap 推送通知可能吗?

PhoneGap 支持推送通知(家庭徽章)吗?

带有 SQLite 插件的 Phonegap 预填充 SQLite 数据库?与Phonegap 1.2 兼容吗?