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

5.9 KiB

Programu za Cordova

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Kwa maelezo zaidi angalia https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Hii ni muhtasari:

Apache Cordova inatambuliwa kwa kuwezesha maendeleo ya programu za hibridi kwa kutumia JavaScript, HTML, na CSS. Inaruhusu uundaji wa programu za Android na iOS; hata hivyo, hauna mfumo wa msingi wa kusaidia usalama wa chanzo cha programu. Tofauti na React Native, Cordova haikusanyi chanzo cha programu kwa chaguomsingi, ambayo inaweza kusababisha udhaifu wa kubadilisha nambari. Cordova hutumia WebView kuonyesha programu, ikifichua nambari ya HTML na JavaScript hata baada ya kusanywa kwenye faili za APK au IPA. Kwa upande mwingine, React Native hutumia JavaScript VM kutekeleza nambari ya JavaScript, ikitoa ulinzi bora wa chanzo cha nambari.

Kujenga Nakala ya Programu ya Cordova

Kabla ya kujenga nakala ya programu ya Cordova, hakikisha kuwa NodeJS imefungwa pamoja na mahitaji mengine kama Android SDK, Java JDK, na Gradle. Nyaraka rasmi za Cordova hutoa mwongozo kamili kwa ufungaji huu.

Fikiria programu ya mfano inayoitwa Bank.apk na jina la pakiti com.android.bank. Ili kupata chanzo cha programu, fungua faili ya bank.apk na nenda kwenye folda ya bank/assets/www. Folda hii ina chanzo kamili cha programu, pamoja na faili za HTML na JS. Mazingira ya programu yanaweza kupatikana kwenye faili ya bank/res/xml/config.xml.

Kufanya nakala ya programu, fuata hatua hizi:

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

Nakili maudhui ya bank/assets/www hadi bank-new/www, isipokuwa cordova_plugins.js, cordova.js, cordova-js-src/, na saraka ya plugins/.

Taja jukwaa (Android au iOS) unapounda mradi mpya wa Cordova. Kwa kuchukua nakala ya programu ya Android, ongeza jukwaa la Android. Kumbuka kuwa toleo la jukwaa la Cordova na viwango vya API vya Android ni tofauti. Angalia nyaraka za Cordova kwa maelezo juu ya toleo la jukwaa na viwango vya API vya Android vinavyoungwa mkono.

Ili kujua toleo sahihi la jukwaa la Cordova Android, angalia PLATFORM_VERSION_BUILD_LABEL katika faili ya cordova.js ya programu ya awali.

Baada ya kuweka jukwaa, sanidi programu zinazohitajika. Faili ya bank/assets/www/cordova_plugins.js ya programu ya awali inaorodhesha programu zote na toleo zao. Sanidi kila programu kwa kujitegemea kama inavyoonyeshwa hapa chini:

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

Ikiwa programu-jalizi haipatikani kwenye npm, inaweza kupatikana kutoka GitHub:

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

Hakikisha kuwa mahitaji yote yanakidhi kabla ya kuanza kuchapisha:

cd bank-new
cordova requirements

Kutengeneza APK, tumia amri ifuatayo:

cd bank-new
cordova build android — packageType=apk

Amri hii inazalisha APK na chaguo la kuhariri limezimishwa, ikirahisisha uhariri kupitia Google Chrome. Ni muhimu kusaini APK kabla ya kuiweka, hasa ikiwa programu ina mekanizm ya kugundua uharibifu wa nambari.

Zana ya Kiotomatiki

Kwa wale wanaotafuta kiotomatiki mchakato wa kujirudia, MobSecco ni zana iliyopendekezwa. Inafanya mchakato wa kujirudia wa programu za Android kuwa rahisi, ikisimplisha hatua zilizoelezwa hapo juu.

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: