React Native Application
Analiza React Native aplikacije
Da biste potvrdili da je aplikacija izgrađena na React Native okviru, pratite ove korake:
Preimenujte APK datoteku sa ekstenzijom zip i izvucite je u novi folder koristeći komandu
cp com.example.apk example-apk.zip
iunzip -qq example-apk.zip -d ReactNative
.Idite u novo kreirani ReactNative folder i pronađite assets folder. U ovom folderu trebali biste pronaći datoteku
index.android.bundle
, koja sadrži React JavaScript u minifikovanom formatu.Koristite komandu
find . -print | grep -i ".bundle$"
da biste pretražili JavaScript datoteku.
Za dalju analizu JavaScript koda, kreirajte datoteku nazvanu index.html
u istom direktorijumu sa sledećim kodom:
Možete otpremiti datoteku na https://spaceraccoon.github.io/webpack-exploder/ ili pratite ove korake:
Otvorite
index.html
datoteku u Google Chrome pregledaču.Otvorite Developer Toolbar pritiskom na Command+Option+J za OS X ili Control+Shift+J za Windows.
Kliknite na "Sources" u Developer Toolbar-u. Trebali biste vidjeti JavaScript datoteku koja je podijeljena u mape i datoteke, čineći glavni paket.
Ako pronađete datoteku nazvanu index.android.bundle.map
, moći ćete analizirati izvorni kod u ne-minificiranom formatu. Map datoteke sadrže mapiranje izvora, što vam omogućava mapiranje minificiranih identifikatora.
Da biste pretražili osjetljive podatke i krajnje točke, slijedite ove korake:
Identificirajte osjetljive ključne riječi za analizu JavaScript koda. React Native aplikacije često koriste usluge trećih strana poput Firebase-a, AWS S3 usluge, privatnih ključeva, itd.
U ovom konkretnom slučaju, primijećeno je da aplikacija koristi Dialogflow uslugu. Pretražite uzorak koji je povezan s njegovom konfiguracijom.
Bilo je sreće da su osjetljivi tvrdokodirani podaci pronađeni u JavaScript kodu tijekom procesa istraživanja.
Reference
Last updated