Cordova Apps
Last updated
Last updated
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)
Daha fazla detay için https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58 adresini kontrol edin. Bu bir özet:
Apache Cordova, JavaScript, HTML ve CSS kullanarak hibrit uygulamaların geliştirilmesini 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 manipülasyonu 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 kaynak kodu koruması sunar.
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:
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. Android uygulamasını klonlarken Android platformunu ekleyin. Cordova'nın platform sürümleri ve Android API seviyelerinin farklı olduğunu unutmayın. 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 kurduktan 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:
Eğer bir eklenti npm'de mevcut değilse, GitHub'dan temin edilebilir:
Tüm ön koşulların derlemeden önce karşılandığından emin olun:
APK'yi oluşturmak için aşağıdaki komutu kullanın:
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 kod değiştirme tespit mekanizmaları içeriyorsa, kurulumdan önce APK'nın imzalanması çok önemlidir.
Klonlama sürecini otomatikleştirmek isteyenler için, MobSecco önerilen bir araçtır. Bu araç, yukarıda belirtilen adımları basitleştirerek Android uygulamalarının klonlanmasını kolaylaştırır.
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)