iOS UIActivity Sharing

iOS Διαμοιρασμός UIActivity

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Απλοποιημένος Διαμοιρασμός UIActivity

Από το iOS 6 και μετά, οι εφαρμογές τρίτων μπορούν να διαμοιράζονται δεδομένα όπως κείμενο, URL ή εικόνες χρησιμοποιώντας μηχανισμούς όπως το AirDrop, όπως περιγράφεται στον οδηγό επικοινωνίας μεταξύ εφαρμογών της Apple. Αυτή η δυνατότητα εμφανίζεται μέσω ενός φύλλου δραστηριοτήτων κοινής χρήσης που εμφανίζεται όταν αλληλεπιδράμετε με το κουμπί "Κοινή χρήση".

Μια περιεκτική απαρίθμηση όλων των ενσωματωμένων επιλογών κοινής χρήσης είναι διαθέσιμη στο UIActivity.ActivityType. Οι προγραμματιστές μπορούν να επιλέξουν να αποκλείσουν συγκεκριμένες επιλογές κοινής χρήσης εάν τις θεωρούν ακατάλληλες για την εφαρμογή τους.

Πώς να Διαμοιραστείτε Δεδομένα

Η διαμοιρασμός διευκολύνεται μέσω της δημιουργίας ενός UIActivityViewController, στο οποίο περνιούνται τα στοιχεία που προορίζονται για κοινή χρήση. Αυτό επιτυγχάνεται καλώντας:

$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
0x1000df034 45 44 initWithActivityItems:applicationActivities:

Οι προγραμματιστές πρέπει να εξετάσουν προσεκτικά το UIActivityViewController για τις δραστηριότητες και τις προσαρμοσμένες δραστηριότητες που έχει αρχικοποιηθεί με αυτές, καθώς και οποιεσδήποτε καθορισμένες excludedActivityTypes.

Πώς να λάβετε Δεδομένα

Τα ακόλουθα στοιχεία είναι κρίσιμα κατά τη λήψη δεδομένων:

  • Η δήλωση προσαρμοσμένων τύπων εγγράφων.

  • Η καθορισμός τύπων εγγράφων που μπορεί να ανοίξει η εφαρμογή.

  • Ο έλεγχος της ακεραιότητας των ληφθέντων δεδομένων.

Χωρίς πρόσβαση στον πηγαίο κώδικα, μπορεί κανείς να επιθεωρήσει το Info.plist για κλειδιά όπως UTExportedTypeDeclarations, UTImportedTypeDeclarations και CFBundleDocumentTypes για να κατανοήσει τους τύπους εγγράφων που μπορεί να χειριστεί μια εφαρμογή και να δηλώσει.

Ένας συνοπτικός οδηγός για αυτά τα κλειδιά είναι διαθέσιμος στο Stackoverflow, τονίζοντας τη σημασία του καθορισμού και της εισαγωγής UTIs για την αναγνώριση σε επίπεδο συστήματος και τη συσχέτιση τύπων εγγράφων με την εφαρμογή σας για ολοκλήρωση στο διάλογο "Ανοίξτε με".

Δυναμική Προσέγγιση Δοκιμής

Για να δοκιμάσετε την αποστολή δραστηριοτήτων, μπορείτε:

  • Να συνδέσετε τη μέθοδο init(activityItems:applicationActivities:) για να καταγράψετε τα στοιχεία και τις δραστηριότητες που κοινοποιούνται.

  • Να ανιχνεύσετε αποκλεισμένες δραστηριότητες παρεμβαίνοντας στην ιδιότητα excludedActivityTypes.

Για τη λήψη στοιχείων, περιλαμβάνει:

  • Την κοινοποίηση ενός αρχείου με την εφαρμογή από άλλη πηγή (π.χ. AirDrop, email) που εμφανίζει τον διάλογο "Ανοίξτε με...".

  • Τη σύνδεση της μεθόδου application:openURL:options: μεταξύ άλλων μεθόδων που ανιχνεύονται κατά τη στατική ανάλυση για να παρατηρήσετε την αντίδραση της εφαρμογής.

  • Τη χρήση ακατάλληλων αρχείων ή τεχνικών fuzzing για να αξιολογήσετε την ανθεκτικότητα της εφαρμογής.

Αναφορές

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated