GCP - Firebase Enum
Firebase Realtime Database एक क्लाउड-होस्टेड NoSQL डेटाबेस है जो आपको अपने उपयोगकर्ताओं के बीच रियलटाइम में डेटा स्टोर और सिंक करने की अनुमति देता है। और जानें.
अप्रमाणित Enum
कुछ Firebase endpoints मोबाइल एप्लिकेशन्स में पाए जा सकते हैं। संभव है कि Firebase endpoint को गलत तरीके से कॉन्फ़िगर किया गया हो जिससे सभी को पढ़ने (और लिखने) की अनुमति मिल जाती है।
खराब कॉन्फ़िगर किए गए Firebase डेटाबेस को खोजने और शोषण करने की सामान्य पद्धति निम्नलिखित है:
APK प्राप्त करें आप इस POC के लिए डिवाइस से APK प्राप्त करने के लिए किसी भी टूल का उपयोग कर सकते हैं। आप “APK Extractor” https://play.google.com/store/apps/details?id=com.ext.ui&hl=e का उपयोग कर सकते हैं
APK को Decompile करें apktool का उपयोग करके, APK से सोर्स कोड निकालने के लिए नीचे दिए गए कमांड का पालन करें।
res/values/strings.xml पर जाएं और “firebase” कीवर्ड के लिए खोजें
आपको ऐसा URL मिल सकता है “https://xyz.firebaseio.com/”
अगला, ब्राउज़र पर जाएं और पाए गए URL पर नेविगेट करें: https://xyz.firebaseio.com/.json
2 प्रकार की प्रतिक्रियाएँ दिखाई दे सकती हैं:
“Permission Denied”: इसका मतलब है कि आप इसे एक्सेस नहीं कर सकते, इसलिए यह अच्छी तरह से कॉन्फ़िगर किया गया है
“null” प्रतिक्रिया या बहुत सारा JSON डेटा: इसका मतलब है कि डेटाबेस सार्वजनिक है और आपके पास कम से कम पढ़ने की अनुमति है।
इस मामले में, आप लिखने की अनुमतियों की जांच कर सकते हैं, लिखने की अनुमतियों का परीक्षण करने के लिए एक शोषण यहाँ पाया जा सकता है: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
रोचक नोट: जब MobSF के साथ मोबाइल एप्लिकेशन का विश्लेषण किया जाता है, अगर यह एक firebase डेटाबेस पाता है तो यह जांचेगा कि क्या यह सार्वजनिक रूप से उपलब्ध है और इसकी सूचना देगा।
वैकल्पिक रूप से, आप Firebase Scanner का उपयोग कर सकते हैं, एक पायथन स्क्रिप्ट जो ऊपर दिखाए गए कार्य को स्वचालित करती है:
प्रमाणित Enum
यदि आपके पास Firebase डेटाबेस तक पहुँचने के लिए प्रमाण-पत्र हैं, तो आप Baserunner जैसे उपकरण का उपयोग करके संग्रहीत जानकारी तक अधिक आसानी से पहुँच सकते हैं। या निम्नलिखित जैसी स्क्रिप्ट का उपयोग करें:
APPID और API Key के साथ जानकारी प्राप्त करें
यदि आप iOS एप्लिकेशन को डिकम्पाइल करते हैं और GoogleService-Info.plist
फाइल को खोलते हैं और आप API Key और APP ID पाते हैं:
API KEY AIzaSyAs1[...]
APP ID 1:612345678909:ios:c212345678909876
आप कुछ दिलचस्प जानकारी प्राप्त कर सकते हैं
अनुरोध
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"}'
संदर्भ
Last updated