Cordova Uygulamaları

Reading time: 4 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin

Daha fazla detay için https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Bu bir özet:

Apache Cordova, JavaScript, HTML ve CSS kullanarak hibrit uygulamalar geliştirmeyi sağladığı için tanınmaktadır. Android ve iOS uygulamalarının oluşturulmasına olanak tanır; ancak, uygulamanın kaynak kodunu güvence altına almak için varsayılan bir mekanizma sunmamaktadır. React Native'in aksine, Cordova varsayılan olarak kaynak kodunu derlemez, bu da kod değiştirme zafiyetlerine yol açabilir. Cordova, uygulamaları render etmek için WebView kullanır ve HTML ile JavaScript kodunu, APK veya IPA dosyalarına derlendikten sonra bile açığa çıkarır. React Native ise, JavaScript kodunu çalıştırmak için bir JavaScript VM kullanarak daha iyi bir kaynak kodu koruması sunar.

Cordova Uygulamasını Klonlama

Bir Cordova uygulamasını klonlamadan önce, NodeJS'in yanı sıra Android SDK, Java JDK ve Gradle gibi diğer ön koşulların yüklü olduğundan emin olun. Resmi Cordova belgeleri, bu kurulumlar için kapsamlı bir kılavuz sunmaktadır.

com.android.bank paket adına sahip Bank.apk adlı bir örnek uygulamayı düşünün. Kaynak koda erişmek için bank.apk dosyasını açın ve bank/assets/www klasörüne gidin. Bu klasör, uygulamanın HTML ve JS dosyaları da dahil olmak üzere tam kaynak kodunu içerir. Uygulamanın yapılandırması bank/res/xml/config.xml dosyasında bulunabilir.

Uygulamayı klonlamak için bu adımları izleyin:

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

bank/assets/www içeriğini bank-new/www dizinine kopyalayın, cordova_plugins.js, cordova.js, cordova-js-src/ ve plugins/ dizinini hariç tutarak.

Yeni bir Cordova projesi oluştururken platformu (Android veya iOS) belirtin. Bir Android uygulamasını klonlarken Android platformunu ekleyin. Cordova'nın platform sürümleri ve Android API seviyeleri farklıdır. Platform sürümleri ve desteklenen Android API'leri hakkında ayrıntılar için Cordova belgelerine bakın.

Uygun Cordova Android platform sürümünü belirlemek için, orijinal uygulamanın cordova.js dosyasındaki PLATFORM_VERSION_BUILD_LABEL değerini kontrol edin.

Platformu ayarladıktan sonra, gerekli eklentileri yükleyin. Orijinal uygulamanın bank/assets/www/cordova_plugins.js dosyası tüm eklentileri ve sürümlerini listeler. Aşağıda gösterildiği gibi her eklentiyi ayrı ayrı yükleyin:

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

Eğer bir eklenti npm'de mevcut değilse, GitHub'dan temin edilebilir:

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

Tüm ön koşulların derlemeden önce karşılandığından emin olun:

bash
cd bank-new
cordova requirements

APK'yi oluşturmak için aşağıdaki komutu kullanın:

bash
cd bank-new
cordova build android — packageType=apk

Bu komut, hata ayıklama seçeneği etkinleştirilmiş bir APK oluşturur ve Google Chrome üzerinden hata ayıklamayı kolaylaştırır. Uygulama kodu değiştirme tespiti mekanizmaları içeriyorsa, kurulumdan önce APK'nın imzalanması çok önemlidir.

Otomasyon Aracı

Klonlama sürecini otomatikleştirmek isteyenler için, MobSecco önerilen bir araçtır. Android uygulamalarının klonlanmasını kolaylaştırır ve yukarıda belirtilen adımları basitleştirir.

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin