content:// protocol
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Fpentest.eu%2FRENDER_WebSec_10fps_21sec_9MB_29042024.gif&width=768&dpr=4&quality=100&sign=bc0743d1&sv=1)
Це резюме посту https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
Перелік файлів у Media Store
Щоб перерахувати файли, які керуються Media Store, можна використовувати команду нижче:
Для більш зручного для людини виводу, що відображає лише ідентифікатор та шлях до кожного проіндексованого файлу:
Контент-провайдери ізольовані у власному приватному просторі імен. Доступ до провайдера вимагає специфічного content://
URI. Інформацію про шляхи доступу до провайдера можна отримати з маніфестів додатків або вихідного коду фреймворку Android.
Доступ Chrome до контент-провайдерів
Chrome на Android може отримувати доступ до контент-провайдерів через схему content://
, що дозволяє йому отримувати доступ до ресурсів, таких як фотографії або документи, експортовані сторонніми додатками. Щоб проілюструвати це, файл можна вставити в Media Store, а потім отримати до нього доступ через Chrome:
Вставте власний запис у Media Store:
Визначте ідентифікатор нововставленого файлу:
Файл можна переглянути в Chrome, використовуючи URL, побудований з ідентифікатора файлу.
Наприклад, щоб перерахувати файли, пов'язані з конкретним додатком:
Chrome CVE-2020-6516: Обхід політики однакового походження
Політика однакового походження (SOP) є протоколом безпеки в браузерах, який обмежує веб-сторінки у взаємодії з ресурсами з різних походжень, якщо це не дозволено явно політикою Cross-Origin-Resource-Sharing (CORS). Ця політика має на меті запобігти витоку інформації та підробці міжсайтових запитів. 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:
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Fpentest.eu%2FRENDER_WebSec_10fps_21sec_9MB_29042024.gif&width=768&dpr=4&quality=100&sign=bc0743d1&sv=1)
Last updated