8.3 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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Για περισσότερες λεπτομέρειες, ελέγξτε https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. Αυτή είναι μια περίληψη:
Το Apache Cordova αναγνωρίζεται για την δυνατότητα ανάπτυξης υβριδικών εφαρμογών χρησιμοποιώντας JavaScript, HTML και CSS. Επιτρέπει τη δημιουργία εφαρμογών Android και iOS. Ωστόσο, δεν διαθέτει μηχανισμό για την ασφάλιση του πηγαίου κώδικα της εφαρμογής. Σε αντίθεση με το React Native, το Cordova δεν μεταγλωττίζει τον πηγαίο κώδικα από προεπιλογή, γεγονός που μπορεί να οδηγήσει σε ευπάθειες παραποίησης κώδικα. Το Cordova χρησιμοποιεί το WebView για την απόδοση εφαρμογών, εκθέτοντας τον HTML και JavaScript κώδικα ακόμη και μετά την μεταγλώττιση σε αρχεία APK ή IPA. Αντίθετα, το React Native χρησιμοποιεί μια JavaScript VM για την εκτέλεση του JavaScript κώδικα, προσφέροντας καλύτερη προστασία του πηγαίου κώδικα.
Κλωνοποίηση μιας Εφαρμογής Cordova
Πριν κλωνοποιήσετε μια εφαρμογή Cordova, βεβαιωθείτε ότι το NodeJS είναι εγκατεστημένο μαζί με άλλες προϋποθέσεις όπως το Android SDK, το Java JDK και το Gradle. Η επίσημη τεκμηρίωση του Cordova παρέχει έναν ολοκληρωμένο οδηγό για αυτές τις εγκαταστάσεις.
Σκεφτείτε μια παράδειγμα εφαρμογή με το όνομα Bank.apk
και το όνομα πακέτου com.android.bank
. Για να αποκτήσετε πρόσβαση στον πηγαίο κώδικα, αποσυμπιέστε το bank.apk
και πλοηγηθείτε στον φάκελο bank/assets/www
. Αυτός ο φάκελος περιέχει τον πλήρη πηγαίο κώδικα της εφαρμογής, συμπεριλαμβανομένων των αρχείων HTML και JS. Η διαμόρφωση της εφαρμογής μπορεί να βρεθεί στο bank/res/xml/config.xml
.
Για να κλωνοποιήσετε την εφαρμογή, ακολουθήστε αυτά τα βήματα:
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
Αντιγράψτε τα περιεχόμενα του bank/assets/www
στο bank-new/www
, εξαιρώντας τα cordova_plugins.js
, cordova.js
, cordova-js-src/
και τον φάκελο plugins/
.
Καθορίστε την πλατφόρμα (Android ή iOS) κατά τη δημιουργία ενός νέου έργου Cordova. Για την κλωνοποίηση μιας εφαρμογής Android, προσθέστε την πλατφόρμα Android. Σημειώστε ότι οι εκδόσεις πλατφόρμας του Cordova και τα επίπεδα API Android είναι διακριτά. Ανατρέξτε στην τεκμηρίωση του Cordova documentation για λεπτομέρειες σχετικά με τις εκδόσεις πλατφόρμας και τα υποστηριζόμενα APIs Android.
Για να προσδιορίσετε την κατάλληλη έκδοση πλατφόρμας Cordova Android, ελέγξτε το PLATFORM_VERSION_BUILD_LABEL
στο αρχείο cordova.js
της αρχικής εφαρμογής.
Αφού ρυθμίσετε την πλατφόρμα, εγκαταστήστε τα απαιτούμενα πρόσθετα. Το αρχείο bank/assets/www/cordova_plugins.js
της αρχικής εφαρμογής απαριθμεί όλα τα πρόσθετα και τις εκδόσεις τους. Εγκαταστήστε κάθε πρόσθετο ξεχωριστά όπως φαίνεται παρακάτω:
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
Αν ένα plugin δεν είναι διαθέσιμο στο npm, μπορεί να ληφθεί από το GitHub:
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
Βεβαιωθείτε ότι πληρούνται όλες οι προϋποθέσεις πριν από τη συμπίεση:
cd bank-new
cordova requirements
Για να δημιουργήσετε το APK, χρησιμοποιήστε την παρακάτω εντολή:
cd bank-new
cordova build android — packageType=apk
Αυτή η εντολή δημιουργεί ένα APK με την επιλογή αποσφαλμάτωσης ενεργοποιημένη, διευκολύνοντας την αποσφαλμάτωση μέσω του Google Chrome. Είναι κρίσιμο να υπογράψετε το APK πριν από την εγκατάσταση, ειδικά αν η εφαρμογή περιλαμβάνει μηχανισμούς ανίχνευσης παραποίησης κώδικα.
Εργαλείο Αυτοματοποίησης
Για όσους επιθυμούν να αυτοματοποιήσουν τη διαδικασία κλωνοποίησης, MobSecco είναι ένα προτεινόμενο εργαλείο. Απλοποιεί την κλωνοποίηση εφαρμογών Android, διευκολύνοντας τα βήματα που περιγράφονται παραπάνω.
{% 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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.