【问题标题】:JavaScript Security Risks In Hybrid Mobile App混合移动应用程序中的 JavaScript 安全风险
【发布时间】:2014-05-22 06:35:14
【问题描述】:

让我们假设 HTML5 网页具有(不)适当的服务器端背景,以便通过 AJAX 执行 http://www.my-site.com/execute?query="SELECT * FROM Table" 并返回结果。确实不是很聪明。

但是在混合移动应用程序的上下文中,即 iOS/Android/WindowsPhone 包装器/骨架中的 HTML5 应用程序通过适当的商店作为应用程序交付时如何?

问:我们认为 JavaScript 在混合移动应用环境中是安全的吗?

【问题讨论】:

    标签: javascript security hybrid-mobile-app


    【解决方案1】:

    我会说不。

    如果有人查看您的网络通信,或者您可能不小心忘记了一些调试日志记录,则很容易找到该 url。 当在浏览器(移动或桌面)中调用时,查询可能也会起作用。

    当然,您可以问自己:您的移动应用程序有多受欢迎,是否会有人尝试破解它。但我不会打赌。

    编辑:我们通常使用(REST)API 之类的东西,来自服务器的答案是 JSON,然后由客户端解析。不要让任何人能够输入 SQL 查询!

    A:就 iOS 上的“安全性”而言:您可以使用例如浏览设备。 iExplorer。在 Android 上,也有一些方法(root 设备或 adb)。鉴于 phonegap 结构,您的 javascript 将位于“assets_www”文件夹或类似文件夹中。因此,如果有人愿意,他/她可以像在网络上一样查看 javascript 源代码。

    【讨论】:

    • 好的,很好的答案,谢谢。现在想象一个不同的示例,其中您的数据库用户名和密码存储在页面中的 JavaScript 代码中。在桌面上,您只会看到页面的来源并且可以阅读它--> 不安全。再次 - 在混合移动应用程序的背景下 - 安全与否?
    • 如果我理解正确的话,你想把你的数据库登录数据明文放到一个javascript文件中吗?我不会将这种数据放在 javascript 中,无论是移动设备还是桌面设备。在服务器端进行。服务端:连接数据库,请求数据,传递数据给客户端客户端:解析数据
    • 构建移动应用时没有服务器(使用PhoneGap/Cordova 定位iPad)。
    • 我明白了。所以就“数据库”而言,您说的是本地数据库,可能是 SQL Lite?在 iOS 上的“安全”方面:您可以使用例如浏览设备iExplorer。在 Android 上,也有一些方法(root 设备或 adb)。鉴于 phonegap 结构,您的 javascript 将位于“assets_www”文件夹或类似文件夹中。因此,如果有人愿意,他/她可以像在网络上一样查看 javascript 源代码。不知道现在能不能回答你的问题。还没用过 SQL Lite。
    • 这个答案很大,值得大量投票。混合与原生之间的战斗愈演愈烈,这对健康和生命科学应用来说是一场表演。
    【解决方案2】:

    这会造成严重的痛苦。 一旦有人找到您的 AJAX url,他们就可以删除或插入任何内容到您的数据库中。

    应用程序的逆向工程非常普遍,因此一旦他们反编译了您的应用程序,就可以非常轻松地找到您的 AJAX URL。如果您将混合移动应用程序视为原生应用程序,它们可能会非常脆弱。

    此外,使用 proguard 并不能帮助保护您的 html/js 源代码,因此您最好将它们视为网站的前端,所有源代码都是开放的,并保持相同的安全级别。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多