content:// protocol
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Αυτή είναι μια περίληψη της ανάρτησης https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
Για να καταγράψετε αρχεία που διαχειρίζεται το Media Store, μπορεί να χρησιμοποιηθεί η παρακάτω εντολή:
Για μια πιο φιλική προς τον άνθρωπο έξοδο, εμφανίζοντας μόνο τον αναγνωριστικό και τη διαδρομή κάθε ευρετηριασμένου αρχείου:
Οι παροχείς περιεχομένου είναι απομονωμένοι στον δικό τους ιδιωτικό χώρο ονομάτων. Η πρόσβαση σε έναν παροχέα απαιτεί το συγκεκριμένο content://
URI. Πληροφορίες σχετικά με τις διαδρομές πρόσβασης σε έναν παροχέα μπορούν να αποκτηθούν από τα μανιφέστα εφαρμογών ή τον πηγαίο κώδικα του Android framework.
Ο Chrome στο Android μπορεί να έχει πρόσβαση στους παροχείς περιεχομένου μέσω του σχήματος content://
, επιτρέποντάς του να έχει πρόσβαση σε πόρους όπως φωτογραφίες ή έγγραφα που έχουν εξαχθεί από τρίτες εφαρμογές. Για να το εικονογραφήσουμε αυτό, ένα αρχείο μπορεί να εισαχθεί στο Media Store και στη συνέχεια να προσπελαστεί μέσω του Chrome:
Εισάγετε μια προσαρμοσμένη καταχώρηση στο Media Store:
Ανακαλύψτε τον αναγνωριστικό του νεοεισαχθέντος αρχείου:
Το αρχείο μπορεί στη συνέχεια να προβληθεί στο Chrome χρησιμοποιώντας μια διεύθυνση URL που κατασκευάζεται με τον αναγνωριστικό του αρχείου.
Για παράδειγμα, για να καταγράψετε αρχεία που σχετίζονται με μια συγκεκριμένη εφαρμογή:
Η Πολιτική Ίδιων Προελεύσεων (SOP) είναι ένα πρωτόκολλο ασφαλείας στους περιηγητές που περιορίζει τις ιστοσελίδες από το να αλληλεπιδρούν με πόρους από διαφορετικές προελεύσεις, εκτός αν επιτρέπεται ρητά από μια πολιτική Διαμοιρασμού Πόρων Διαφορετικών Προελεύσεων (CORS). Αυτή η πολιτική στοχεύει στην πρόληψη διαρροών πληροφοριών και επιθέσεων Cross-Site Request Forgery. Ο Chrome θεωρεί το content://
ως τοπικό σχήμα, υπονοώντας αυστηρότερους κανόνες SOP, όπου κάθε τοπικό σχήμα URL αντιμετωπίζεται ως ξεχωριστή προέλευση.
Ωστόσο, το CVE-2020-6516 ήταν μια ευπάθεια στον Chrome που επέτρεπε την παράκαμψη των κανόνων SOP για πόρους που φορτώνονταν μέσω ενός URL content://
. Στην ουσία, ο κώδικας JavaScript από ένα URL content://
μπορούσε να έχει πρόσβαση σε άλλους πόρους που φορτώνονταν μέσω URL content://
, γεγονός που ήταν σημαντική ανησυχία ασφαλείας, ειδικά σε συσκευές Android που εκτελούσαν εκδόσεις πριν από το Android 10, όπου δεν είχε εφαρμοστεί η περιορισμένη αποθήκευση.
Η απόδειξη της έννοιας παρακάτω δείχνει αυτή την ευπάθεια, όπου ένα έγγραφο HTML, αφού ανέβει κάτω από /sdcard και προστεθεί στο Media Store, χρησιμοποιεί το XMLHttpRequest
στον JavaScript του για να έχει πρόσβαση και να εμφανίσει τα περιεχόμενα ενός άλλου αρχείου στο Media Store, παρακάμπτοντας τους κανόνες SOP.
Proof-of-Concept HTML:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)