content:// protocol
Це краткий огляд публікації https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
Виведення файлів у сховищі медіа
Для виведення файлів, керованих сховищем медіа, можна використати наступну команду:
Для більш зручного виведення, відображення лише ідентифікатора та шляху кожного індексованого файлу:
Постачальники контенту ізольовані у власному приватному просторі імен. Доступ до постачальника потребує конкретного 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 та додавання до медіа-сховища використовує XMLHttpRequest
у своєму JavaScript для доступу та відображення вмісту іншого файлу в медіа-сховищі, обходячи правила SOP.
Доказовий приклад HTML:
Last updated