content:// protocol
Last updated
Last updated
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
To jest podsumowanie posta https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
Aby wyświetlić pliki zarządzane przez Media Store, można użyć poniższego polecenia:
Aby uzyskać bardziej przyjazny dla użytkownika wynik, wyświetlając tylko identyfikator i ścieżkę każdego zindeksowanego pliku:
Content providers są izolowane w swoim własnym prywatnym przestrzeni nazw. Dostęp do dostawcy wymaga konkretnego URI content://
. Informacje o ścieżkach dostępu do dostawcy można uzyskać z manifestów aplikacji lub kodu źródłowego frameworka Androida.
Chrome na Androidzie może uzyskać dostęp do dostawców treści za pośrednictwem schematu content://
, co pozwala mu na dostęp do zasobów, takich jak zdjęcia czy dokumenty eksportowane przez aplikacje innych firm. Aby to zilustrować, plik można wstawić do Media Store, a następnie uzyskać do niego dostęp za pośrednictwem Chrome:
Wstaw niestandardowy wpis do Media Store:
Odkryj identyfikator nowo wstawionego pliku:
Plik można następnie wyświetlić w Chrome, używając adresu URL skonstruowanego z identyfikatora pliku.
Na przykład, aby wylistować pliki związane z konkretną aplikacją:
Polityka Takiej Samej Pochodzenia (SOP) to protokół bezpieczeństwa w przeglądarkach, który ogranicza interakcje stron internetowych z zasobami z różnych źródeł, chyba że wyraźnie dozwolone przez politykę Cross-Origin-Resource-Sharing (CORS). Polityka ta ma na celu zapobieganie wyciekom informacji i fałszywym żądaniom między witrynami. Chrome traktuje content://
jako lokalny schemat, co implikuje surowsze zasady SOP, gdzie każdy lokalny URL schematu jest traktowany jako osobne pochodzenie.
Jednak CVE-2020-6516 była luką w Chrome, która pozwalała na ominięcie zasad SOP dla zasobów ładowanych za pomocą URL content://
. W efekcie, kod JavaScript z URL content://
mógł uzyskać dostęp do innych zasobów ładowanych za pomocą URL content://
, co stanowiło istotny problem bezpieczeństwa, szczególnie na urządzeniach z Androidem działających w wersjach wcześniejszych niż Android 10, gdzie nie wprowadzono ograniczonego przechowywania.
Poniższy dowód koncepcji demonstruje tę lukę, gdzie dokument HTML, po przesłaniu pod /sdcard i dodaniu do Media Store, używa XMLHttpRequest
w swoim JavaScript, aby uzyskać dostęp do i wyświetlić zawartość innego pliku w Media Store, omijając zasady SOP.
Proof-of-Concept HTML:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)