You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未配置Cloud Firestore安全规则,攻击者如何访问我的数据库及获取信息?

Cloud Firestore安全与google-services.json泄露相关问题解答

1. 未配置安全规则时,攻击者如何访问数据库?

如果你的Firestore安全规则是完全开放的(如下方示例):

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

攻击者拿到google-services.json里的凭证后,能直接通过Firestore SDK或REST API对数据库进行无限制读写:

  • 用获取到的API密钥、项目ID初始化Firestore客户端,遍历所有集合和文档,读取全部数据;
  • 随意修改、删除现有数据,甚至插入恶意内容;
  • 因为规则允许所有请求,不管请求来源是否经过身份验证,相当于数据库完全暴露在公网中。

这种开放规则仅适合开发测试,绝对不能用于生产环境。

2. 攻击者如何从google-services.json获取数据库相关信息?

google-services.json的project_info字段直接包含了关键的项目与数据库信息:

  • 其中project_id是Firebase项目的唯一标识,Firestore默认数据库的ID与项目ID绑定(默认数据库ID为(default)),攻击者拿到project_id后,就能定位到对应的Firestore数据库实例;
  • 同时,api_key字段提供了调用Firebase API的合法凭证,结合project_id,攻击者可以构造出有效的API请求来访问数据库;
  • 另外,storage_bucket等字段也能辅助攻击者确认项目的关联资源,进一步拓展攻击面。

简单来说,google-services.json里的核心字段足以让攻击者定位并访问你的Firestore数据库,尤其是在安全规则未正确配置的情况下。

内容的提问来源于stack exchange,提问作者Ghost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 02:29:56