hacktricks/mobile-pentesting/cordova-apps.md

5.8 KiB

Cordova Apps

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Vir verdere besonderhede, kyk na https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Dit is 'n opsomming:

Apache Cordova word erken vir die moontlikheid om hibridetoepassings te ontwikkel met JavaScript, HTML, en CSS. Dit maak die skepping van Android en iOS toepassings moontlik; egter, dit het nie 'n standaardmeganisme om die toepassings se bronkode te beveilig nie. In teenstelling met React Native, kompileer Cordova nie die bronkode nie, wat kan lei tot kwesbaarhede in kodeverandering. Cordova gebruik WebView om toepassings te render, wat die HTML en JavaScript kode blootstel selfs nadat dit in APK of IPA lêers gekompileer is. React Native, aan die ander kant, gebruik 'n JavaScript VM om JavaScript kode uit te voer, wat beter beskerming van die bronkode bied.

Kloning van 'n Cordova Toepassing

Voordat jy 'n Cordova toepassing kloon, verseker dat NodeJS geïnstalleer is saam met ander vereistes soos die Android SDK, Java JDK, en Gradle. Die amptelike Cordova dokumentasie bied 'n omvattende gids vir hierdie installasies.

Neem 'n voorbeeldtoepassing genaamd Bank.apk met die pakketnaam com.android.bank. Om toegang tot die bronkode te verkry, ontsyfer bank.apk en navigeer na die bank/assets/www gids. Hierdie gids bevat die volledige bronkode van die toepassing, insluitend HTML en JS lêers. Die toepassingskonfigurasie kan gevind word in bank/res/xml/config.xml.

Om die toepassing te kloon, volg hierdie stappe:

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

Kopieer die inhoud van bank/assets/www na bank-new/www, met uitsluiting van cordova_plugins.js, cordova.js, cordova-js-src/, en die plugins/ gids.

Specifiseer die platform (Android of iOS) wanneer jy 'n nuwe Cordova-projek skep. Vir die kloon van 'n Android-app, voeg die Android-platform by. Let daarop dat Cordova se platformweergawe en Android API-vlakke verskillend is. Verwys na die Cordova dokumentasie vir besonderhede oor platformweergawe en ondersteunde Android API's.

Om die toepaslike Cordova Android-platformweergawe te bepaal, kyk na die PLATFORM_VERSION_BUILD_LABEL in die oorspronklike aansoek se cordova.js-lêer.

Nadat die platform opgestel is, installeer die vereiste plugins. Die oorspronklike aansoek se bank/assets/www/cordova_plugins.js-lêer lys al die plugins en hul weergawes. Installeer elke plugin individueel soos hieronder getoon:

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

As 'n plugin nie op npm beskikbaar is nie, kan dit van GitHub verkry word:

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

Verseker dat alle vereistes nagekom word voordat jy saamstel:

cd bank-new
cordova requirements

Om die APK te bou, gebruik die volgende opdrag:

cd bank-new
cordova build android — packageType=apk

Hierdie opdrag genereer 'n APK met die foutopsporing opsie geaktiveer, wat foutopsporing via Google Chrome vergemaklik. Dit is van kardinale belang om die APK te teken voor installasie, veral as die aansoek kode manipulasie opsporing meganismes insluit.

Outomatisering Gereedskap

Vir diegene wat die kloonproses wil outomatiseer, MobSecco is 'n aanbevole gereedskap. Dit stroomlyn die kloon van Android aansoeke, wat die stappe hierbo vereenvoudig.

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}