Firebase

Если кратко

Пробуем

https://<databasename>.firebaseio.com/.json

Другой пример

import requests
data= {"Exploit":"Successfull", "H4CKED BY": "zfr"}
reponse = requests.put("https://my-proj.firebaseio.com/.json", json=data)

Если потом через Get сможем запросить — уязвимо: https://hackerone.com/reports/1065134

Firebase Database Takeover

Пример пентеста с плохо сконфигурированной базой - https://medium.com/@danangtriatmaja/firebase-database-takover-b7929bbb62e1

Пример поиска и эксплуатации ключей Firebase

Ищем по коду подобные константы:

Firebase Realtime Database

Эта база не только для сбора аналитики, ее используют как API Gateway / Message Broker (клиенты общаются с базой Firebase, а не с сервером напрямую, а сервер читает запросы из базы и возвращает в базу ответы, которые уже клиент потом вычитывает)

https://firebase.google.com/docs/database?authuser=0

Используем официальный клиент firebase

Тут важно разузнать, какой версии API используется в проекте

Это старое API (^8.10.1, с ref и push/key/once):

Новое API выглядит как-то так:

Используем pyrebase

Пример работы с firebase базой с помощью pip install pyrebase

Этот код отработает, если выставлены permissions на чтение для apiKey

В документации pyrebase можно найти другие примеры по работе с Firebase.

Last updated

Was this helpful?