React Native Application
React Native Analiza Aplikacije
Da biste potvrdili da li je aplikacija izgrađena na React Native okviru, pratite ove korake:
Preimenujte APK datoteku sa zip ekstenzijom i raspakujte je u novu fasciklu koristeći komandu
cp com.example.apk example-apk.zip
iunzip -qq example-apk.zip -d ReactNative
.Idite u novokreiranu ReactNative fasciklu i pronađite fasciklu assets. Unutar ove fascikle, 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.
Da biste dodatno analizirali JavaScript kod, kreirajte datoteku pod nazivom index.html
u istoj direktoriji sa sledećim kodom:
Možete da otpremite datoteku na https://spaceraccoon.github.io/webpack-exploder/ ili pratite ove korake:
Otvorite
index.html
datoteku u Google Chrome-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. Trebalo bi da vidite JavaScript datoteku koja je podeljena na foldere i datoteke, čineći glavni paket.
Ako pronađete datoteku pod nazivom index.android.bundle.map
, moći ćete da analizirate izvorni kod u nekompresovanom formatu. Map datoteke sadrže mapiranje izvora, što vam omogućava da mapirate kompresovane identifikatore.
Da biste pretražili osetljive akreditive i krajnje tačke, pratite ove korake:
Identifikujte osetljive ključne reči za analizu JavaScript koda. React Native aplikacije često koriste usluge trećih strana kao što su Firebase, AWS S3 krajnje tačke, privatni ključevi itd.
U ovom specifičnom slučaju, primećeno je da aplikacija koristi Dialogflow uslugu. Pretražujte obrazac povezan sa njenom konfiguracijom.
Bilo je sreće što su osetljivi hard-kodirani akreditive pronađeni u JavaScript kodu tokom recon procesa.
References
Last updated