hacktricks/mobile-pentesting/cordova-apps.md
2024-02-10 13:11:20 +00:00

5.9 KiB

Cordova Aplikacije

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini da podržite HackTricks:

Za dalje detalje pogledajte https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Ovo je sažetak:

Apache Cordova je prepoznat po omogućavanju razvoja hibridnih aplikacija koristeći JavaScript, HTML i CSS. Omogućava kreiranje Android i iOS aplikacija; međutim, nedostaje mu podrazumevani mehanizam za zaštitu izvornog koda aplikacije. Za razliku od React Native-a, Cordova ne kompajlira izvorni kod podrazumevano, što može dovesti do ranjivosti izmenjivanja koda. Cordova koristi WebView za prikazivanje aplikacija, izlažući HTML i JavaScript kod čak i nakon što su kompajlirani u APK ili IPA fajlove. Sa druge strane, React Native koristi JavaScript VM za izvršavanje JavaScript koda, pružajući bolju zaštitu izvornog koda.

Kloniranje Cordova Aplikacije

Pre kloniranja Cordova aplikacije, proverite da li je NodeJS instaliran zajedno sa ostalim preduslovima kao što su Android SDK, Java JDK i Gradle. Zvanična Cordova dokumentacija pruža sveobuhvatan vodič za ove instalacije.

Uzmimo za primer aplikaciju nazvanu Bank.apk sa paket imenom com.android.bank. Da biste pristupili izvornom kodu, raspakujte bank.apk i navigirajte do foldera bank/assets/www. Ovaj folder sadrži kompletni izvorni kod aplikacije, uključujući HTML i JS fajlove. Konfiguracija aplikacije se može pronaći u bank/res/xml/config.xml.

Da biste klonirali aplikaciju, pratite ove korake:

npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new

Kopirajte sadržaj bank/assets/www u bank-new/www, isključujući cordova_plugins.js, cordova.js, cordova-js-src/ i direktorijum plugins/.

Prilikom kreiranja novog Cordova projekta, navedite platformu (Android ili iOS). Za kloniranje Android aplikacije, dodajte Android platformu. Imajte na umu da su verzije platforme Cordova i nivoi Android API-ja različiti. Za detalje o verzijama platforme i podržanim Android API-jima, pogledajte Cordova dokumentaciju.

Da biste odredili odgovarajuću verziju Cordova Android platforme, proverite PLATFORM_VERSION_BUILD_LABEL u cordova.js fajlu originalne aplikacije.

Nakon podešavanja platforme, instalirajte potrebne dodatke. Fajl bank/assets/www/cordova_plugins.js originalne aplikacije navodi sve dodatke i njihove verzije. Instalirajte svaki dodatak pojedinačno kako je prikazano ispod:

cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1

Ako plugin nije dostupan na npm-u, može se preuzeti sa GitHub-a:

cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git

Proverite da su ispunjeni svi preduslovi pre kompajliranja:

cd bank-new
cordova requirements

Da biste izgradili APK, koristite sledeću komandu:

cd bank-new
cordova build android — packageType=apk

Ova komanda generiše APK sa omogućenom opcijom za debagovanje, olakšavajući debagovanje putem Google Chrome-a. Ključno je potpisati APK pre instalacije, posebno ako aplikacija uključuje mehanizme za otkrivanje manipulacije kodom.

Alat za automatizaciju

Za one koji žele automatizovati proces kloniranja, preporučeni alat je MobSecco. On pojednostavljuje proces kloniranja Android aplikacija, olakšavajući korake opisane gore.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: