iOS Universal Links
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Οι καθολικοί σύνδεσμοι προσφέρουν μια αδιάκοπη εμπειρία ανακατεύθυνσης στους χρήστες, ανοίγοντας απευθείας το περιεχόμενο στην εφαρμογή, παρακάμπτοντας την ανάγκη για ανακατεύθυνση μέσω Safari. Αυτοί οι σύνδεσμοι είναι μοναδικοί και ασφαλείς, καθώς δεν μπορούν να διεκδικηθούν από άλλες εφαρμογές. Αυτό διασφαλίζεται με τη φιλοξενία ενός αρχείου JSON apple-app-site-association
στον ριζικό κατάλογο της ιστοσελίδας, καθορίζοντας έναν επαληθεύσιμο σύνδεσμο μεταξύ της ιστοσελίδας και της εφαρμογής. Σε περιπτώσεις όπου η εφαρμογή δεν είναι εγκατεστημένη, το Safari θα αναλάβει και θα κατευθύνει τον χρήστη στη σελίδα, διατηρώντας την παρουσία της εφαρμογής.
Για τους δοκιμαστές διείσδυσης, το αρχείο apple-app-site-association
είναι ιδιαίτερα ενδιαφέρον καθώς μπορεί να αποκαλύψει ευαίσθητους δρόμους, πιθανώς περιλαμβάνοντας αυτούς που σχετίζονται με μη δημοσιευμένα χαρακτηριστικά.
Οι προγραμματιστές ενεργοποιούν τους καθολικούς συνδέσμους ρυθμίζοντας τους Σχετικούς Τομείς στην καρτέλα Δυνατοτήτων του Xcode ή ελέγχοντας το αρχείο .entitlements
. Κάθε τομέας προτάσσεται με applinks:
. Για παράδειγμα, η ρύθμιση του Telegram μπορεί να εμφανίζεται ως εξής:
Για πιο ολοκληρωμένες πληροφορίες, ανατρέξτε στην αρχειοθετημένη τεκμηρίωση προγραμματιστών της Apple.
Εάν εργάζεστε με μια μεταγλωττισμένη εφαρμογή, τα δικαιώματα μπορούν να εξαχθούν όπως περιγράφεται σε αυτήν την οδηγία.
Το αρχείο apple-app-site-association
θα πρέπει να ανακτηθεί από τον διακομιστή χρησιμοποιώντας τα domains που καθορίζονται στα δικαιώματα. Βεβαιωθείτε ότι το αρχείο είναι προσβάσιμο μέσω HTTPS απευθείας στο https://<domain>/apple-app-site-association
. Εργαλεία όπως ο Επαληθευτής Αρχείου Συσχέτισης Ιστοσελίδας της Apple (AASA) μπορούν να βοηθήσουν σε αυτή τη διαδικασία.
Η εφαρμογή πρέπει να υλοποιήσει συγκεκριμένες μεθόδους για να διαχειριστεί σωστά τους καθολικούς συνδέσμους. Η κύρια μέθοδος που πρέπει να αναζητηθεί είναι η application:continueUserActivity:restorationHandler:
. Είναι κρίσιμο ότι το σχήμα των URLs που διαχειρίζεται είναι HTTP ή HTTPS, καθώς άλλα δεν θα υποστηρίζονται.
Όταν ένας καθολικός σύνδεσμος ανοίγει μια εφαρμογή, ένα αντικείμενο NSUserActivity
μεταφέρεται στην εφαρμογή με το URL. Πριν από την επεξεργασία αυτού του URL, είναι απαραίτητο να το επικυρώσετε και να το καθαρίσετε για να αποφευχθούν κίνδυνοι ασφαλείας. Ακολουθεί ένα παράδειγμα σε Swift που δείχνει τη διαδικασία:
Οι διευθύνσεις URL θα πρέπει να αναλύονται και να επικυρώνονται προσεκτικά, ειδικά αν περιλαμβάνουν παραμέτρους, για να προστατευτούν από πιθανή παραχάραξη ή κακώς διαμορφωμένα δεδομένα. Η API NSURLComponents
είναι χρήσιμη για αυτόν τον σκοπό, όπως αποδεικνύεται παρακάτω:
Μέσω επιμελούς διαμόρφωσης και επικύρωσης, οι προγραμματιστές μπορούν να διασφαλίσουν ότι οι καθολικοί σύνδεσμοι βελτιώνουν την εμπειρία του χρήστη ενώ διατηρούν τα πρότυπα ασφάλειας και ιδιωτικότητας.
GetUniversal.link: Βοηθά στην απλοποίηση της δοκιμής και διαχείρισης των Καθολικών Συνδέσμων και του αρχείου AASA της εφαρμογής σας. Απλά εισάγετε το domain σας για να επαληθεύσετε την ακεραιότητα του αρχείου AASA ή χρησιμοποιήστε τον προσαρμοσμένο πίνακα ελέγχου για να δοκιμάσετε εύκολα τη συμπεριφορά των συνδέσμων. Αυτό το εργαλείο σας βοηθά επίσης να προσδιορίσετε πότε η Apple θα ευρετηριάσει ξανά το αρχείο AASA σας.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)