content:// protocol
To jest streszczenie posta https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
Wyświetlanie plików w magazynie multimediów
Aby wyświetlić pliki zarządzane przez Magazyn Multimediów, można użyć poniższej komendy:
Dla bardziej przyjaznego dla użytkownika wyjścia, wyświetl tylko identyfikator i ścieżkę każdego zindeksowanego pliku:
Dostawcy treści są izolowani we własnej prywatnej przestrzeni nazw. Dostęp do dostawcy wymaga określonego URI content://
. Informacje o ścieżkach dostępu do dostawcy można uzyskać z manifestów aplikacji lub kodu źródłowego frameworka Androida.
content://
. Informacje o ścieżkach dostępu do dostawcy można uzyskać z manifestów aplikacji lub kodu źródłowego frameworka Androida.Dostęp Chrome'a do dostawców treści
Chrome na Androidzie może uzyskać dostęp do dostawców treści za pomocą schematu content://
, pozwalając na dostęp do zasobów takich jak zdjęcia lub dokumenty eksportowane przez aplikacje innych firm. Aby to zilustrować, plik można wstawić do Magazynu multimediów, a następnie uzyskać do niego dostęp za pomocą Chrome'a:
Wstaw niestandardowy wpis do Magazynu multimediów:
Odkryj identyfikator nowo wstawionego pliku:
Plik można następnie wyświetlić w przeglądarce Chrome, używając adresu URL skonstruowanego z identyfikatorem pliku.
Na przykład, aby wyświetlić listę plików związanych z określoną aplikacją:
Chrome CVE-2020-6516: Bypass zasady Same-Origin-Policy
Same Origin Policy (SOP) to protokół bezpieczeństwa w przeglądarkach, który ogranicza interakcje stron internetowych z zasobami z różnych źródeł, chyba że jest to wyraźnie zezwolone przez politykę Cross-Origin-Resource-Sharing (CORS). Ta polityka ma na celu zapobieganie wyciekom informacji i fałszowaniu żądań między witrynami. Chrome traktuje content://
jako lokalny schemat, co oznacza bardziej restrykcyjne zasady SOP, gdzie każdy adres URL z lokalnym schematem jest traktowany jako osobne źródło.
Jednak CVE-2020-6516 był podatnością w Chrome, która umożliwiała obejście zasad SOP dla zasobów ładowanych za pomocą adresu URL content://
. W rezultacie kod JavaScript z adresu URL content://
mógł uzyskać dostęp do innych zasobów ładowanych za pomocą adresów URL content://
, co stanowiło znaczące zagrożenie dla bezpieczeństwa, zwłaszcza na urządzeniach z systemem Android w wersjach wcześniejszych niż Android 10, gdzie nie było wdrożonego przechowywania z zasięgiem.
Poniżej znajduje się przykład koncepcji działania tej podatności, gdzie dokument HTML, po przesłaniu go pod /sdcard i dodaniu do Magazynu multimediów, używa XMLHttpRequest
w swoim kodzie JavaScript, aby uzyskać dostęp i wyświetlić zawartość innego pliku w Magazynie multimediów, omijając zasady SOP.
Kod HTML koncepcji działania:
Last updated