GCP - Firebase Enum
Firebase Gerçek Zamanlı Veritabanı, kullanıcılarınız arasında veri depolamanıza ve senkronize etmenize olanak tanıyan bulut tabanlı bir NoSQL veritabanıdır. Daha fazla bilgi edinin.
Kimlik Doğrulamasız Sıralama
Bazı Firebase uç noktaları, mobil uygulamalarda bulunabilir. Kötü yapılandırılmış bir Firebase uç noktasının, herkese okuma (ve yazma) yetkisi verdiği olasıdır.
Kötü yapılandırılmış Firebase veritabanlarını aramak ve istismar etmek için genel olarak aşağıdaki metodoloji kullanılır:
Bu POC için cihazdan APK almak için herhangi bir aracı kullanabilirsiniz. “APK Extractor” kullanabilirsiniz https://play.google.com/store/apps/details?id=com.ext.ui&hl=e
APK'yi apktool kullanarak decompile edin, aşağıdaki komutu izleyerek APK'dan kaynak kodunu çıkarın.
res/values/strings.xml dizinine gidin ve burada "firebase" anahtar kelimesini aramaya başlayın
"https://xyz.firebaseio.com/" gibi bir URL bulabilirsiniz
Sonra, tarayıcıya gidin ve bulunan URL'ye gidin: https://xyz.firebaseio.com/.json
2 tür yanıt görünebilir:
"İzin Reddedildi": Buna erişemezsiniz, yani iyi yapılandırılmıştır
"null" yanıtı veya bir dizi JSON verisi: Bu, veritabanının herkese açık olduğunu ve en azından okuma erişiminizin olduğunu gösterir.
Bu durumda, yazma yetkilerini kontrol edebilirsiniz, yazma yetkilerini test etmek için bir istismar burada bulunabilir: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
İlginç not: MobSF ile bir mobil uygulama analiz ederken, bir firebase veritabanı bulursa bunun herkese açık olup olmadığını kontrol eder ve bildirimde bulunur.
Alternatif olarak, yukarıda gösterildiği gibi bu görevi otomatikleştiren bir python betiği olan Firebase Scanner kullanabilirsiniz.
Yetkilendirilmiş Enum
Firebase veritabanına erişmek için kimlik bilgileriniz varsa, Baserunner gibi bir araç kullanarak depolanan bilgilere daha kolay erişebilirsiniz. Veya aşağıdaki gibi bir betik kullanabilirsiniz:
Veritabanında yazma gibi diğer işlemleri test etmek için, buradan Pyrebase belgelerine başvurun.
APPID ve API Anahtarı ile Erişim Bilgilerine Erişim
iOS uygulamasını decompile edip GoogleService-Info.plist
dosyasını açarsanız, API Anahtarı ve APP ID'sini bulabilirsiniz:
API ANAHTARI AIzaSyAs1[...]
APP ID 1:612345678909:ios:c212345678909876
Bazı ilginç bilgilere erişebilirsiniz.
İstek
curl -v -X POST "https://firebaseremoteconfig.googleapis.com/v1/projects/612345678909/namespaces/firebase:fetch?key=AIzaSyAs1[...]" -H "Content-Type: application/json" --data '{"appId": "1:612345678909:ios:c212345678909876", "appInstanceId": "PROD"}'
Referanslar
Last updated