hacktricks/mobile-pentesting/android-app-pentesting/react-native-application.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

10 KiB

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

जानकारी https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7 से कॉपी की गई है

React Native एक मोबाइल एप्लिकेशन फ्रेमवर्क है जिसे अधिकांशतः रिएक्ट और नेटिव प्लेटफ़ॉर्म क्षमताओं का उपयोग करके Android और iOS के लिए एप्लिकेशन विकसित करने के लिए सबसे अधिक प्रयोग किया जाता है। इन दिनों, प्लेटफ़ॉर्मों के बीच रिएक्ट का उपयोग करना बढ़ता जा रहा है।
लेकिन अधिकांश समय में, एप्लिकेशन का मूल तर्क React Native जावास्क्रिप्ट में स्थित होता है जिसे dex2jar का उपयोग किए बिना प्राप्त किया जा सकता है।

चरण-1: यह सत्यापित करें कि एप्लिकेशन React Native फ्रेमवर्क पर निर्मित हुई है।

इसकी जांच करने के लिए, APK को zip एक्सटेंशन के साथ नाम बदलें और फिर निम्नलिखित कमांड का उपयोग करके APK को एक नये फ़ोल्डर में निकालें

cp com.example.apk example-apk.zip
unzip -qq example-apk.zip -d ReactNative

उन्नत ReactNative फ़ोल्डर में ब्राउज़ करें और assets फ़ोल्डर ढूंढें। इस फ़ोल्डर के अंदर, यह index.android.bundle शामिल होना चाहिए। इस फ़ाइल में सभी React JavaScript मिनीफ़ाइड फ़ॉर्मेट में होगा। React Native प्रतिरूपण इंजीनियरिंग

find . -print | grep -i ".bundle$"

Image for post

चरण-2: एक फ़ाइल नामित index.html बनाएं जो उसी निर्देशिका में निम्नलिखित कोड के साथ हो।

आप फ़ाइल को https://spaceraccoon.github.io/webpack-exploder/ पर अपलोड कर सकते हैं या निम्नलिखित चरणों के साथ आगे बढ़ सकते हैं:

<script src="./index.android.bundle"></script>

Image for post

Google Chrome में index.html फ़ाइल खोलें। डेवलपर टूलबार (OS X के लिए Command+Option+J या Windows के लिए Control+Shift+J) खोलें और "स्रोत" पर क्लिक करें। आपको एक JavaScript फ़ाइल दिखाई देगी, जिसे मुख्य बंडल बनाने वाले फ़ोल्डर और फ़ाइलों में विभाजित किया गया है।

यदि आपको index.android.bundle.map नामक फ़ाइल मिल जाती है, तो आप उसे अनमिनिफाइड फ़ॉर्मेट में स्रोत कोड का विश्लेषण कर सकते हैं। map फ़ाइल मिनिफाइड पहचानकर्ताओं को मैप करने की अनुमति देती है।

चरण-3: संवेदनशील क्रेडेंशियल और एंडपॉइंट्स के लिए खोजें

इस चरण में, आपको संवेदनशील कीवर्ड को पहचानने के लिए जावास्क्रिप्ट कोड का विश्लेषण करना होगा। रिएक्ट नेटिव एप्लिकेशन के साथ एक ऐसा पैटर्न जो प्रसिद्ध है, वह Firebase, AWS s3 सेवा एंडपॉइंट्स, निजी कुंजी आदि जैसी तृतीय पक्ष की सेवाओं का उपयोग करना है।

मेरी प्राथमिक रिकॉन प्रक्रिया के दौरान, मैंने देखा है कि ऐप्लिकेशन डायलॉगफ़्लो सेवा का उपयोग कर रही है। इसके आधार पर, मैंने इसके कॉन्फ़िगरेशन से संबंधित एक पैटर्न खोजा है। भाग्य से, मैंने जावास्क्रिप्ट कोड में संवेदनशील हार्डकोड क्रेडेंशियल्स ढूंढ़ने में सफलता प्राप्त की है।

Image for post

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥