【问题标题】:Firebase insecurity/public endpoints with iOS appiOS 应用的 Firebase 不安全/公共端点
【发布时间】:2021-04-04 20:48:18
【问题描述】:

我经常听说我们需要 Firebase 安全规则的主要问题是因为应用程序包含连接到数据库所需的所有配置,因此用户可以执行诸如 db.delete('*')、读/写之类的操作不管他们想要什么,等等等等。

我可以看到这在 Web 应用程序上是如何实现的,因为您可以检查通过网络发送的请求,从而获得连接到数据库所需的端点,但是,在 iOS 应用程序上,这将如何可能吗?

例如,假设我使用 Firebase 创建了一些聊天应用并将其发布到 App Store。当用户下载它时,他/她将如何通过我提供给他们的按钮等 API 访问我的数据库?是否有与谷歌浏览器中的“网络”部分等效的东西显示所有传出请求,并且,他们可以向我的数据库发送恶意请求?这是否需要在他们的设备上安装第 3 方软件以查看所有传出/传入请求,并且他们可以从那里获得所需的端点/数据库连接信息?

谢谢。

【问题讨论】:

  • 有多种方法可以检查移动设备上的网络流量。 Google Charles 代理和 iOS 中间人攻击作为两个简单的示例搜索。

标签: ios swift firebase google-cloud-firestore firebase-security


【解决方案1】:

当用户下载它时,他/她将如何通过我提供给他们的按钮等 API 访问我的数据库?

对 IPA 文件的内容进行逆向工程以获取您提供的配置并查看查询数据库的代码并不难。 IPA 文件可以很容易地获得 - 没有太多保护,因为用户可以有效地完全控制设备(例如越狱)。有了这些信息,就可以简单地调用公共 Firestore REST API 来不仅复制应用程序中的所有操作,而且还可以创建自己的操作。

【讨论】:

  • 啊好吧,关键是 IPA 文件。是的,我想这总是让我感到困惑,因为如果我去应用程序商店下载一个应用程序,我只是在下载该应用程序,但我从未见过 IPA 文件,但我想这是有道理的 - 你需要额外的修改/像越狱这样的软件直接读取IPA文件,所以这会是一个有点复杂的过程,但仍然可以,谢谢!
  • 您实际上不需要越狱设备来查看 IPA。您可以从非法托管文件的站点获取 IPA。在计算机软件中寻找秘密和破坏安全性的协同努力已经存在了几十年。
猜你喜欢
  • 2015-12-24
  • 1970-01-01
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
  • 2017-02-21
  • 2013-11-22
  • 1970-01-01
相关资源
最近更新 更多