content:// protocol
이것은 https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/의 포스트 요약입니다
미디어 스토어에서 파일 목록 나열
미디어 스토어에서 관리되는 파일을 나열하려면 아래 명령을 사용할 수 있습니다:
보다 사용자 친화적인 출력을 위해 각 색인 파일의 식별자와 경로만 표시합니다:
콘텐츠 프로바이더
콘텐츠 프로바이더는 고유한 개인 네임스페이스에 격리됩니다. 프로바이더에 액세스하려면 특정 content://
URI가 필요합니다. 프로바이더에 액세스하는 경로에 대한 정보는 애플리케이션 매니페스트나 Android 프레임워크의 소스 코드에서 얻을 수 있습니다.
Chrome의 콘텐츠 프로바이더 액세스
Android의 Chrome은 content://
스키마를 통해 콘텐츠 프로바이더에 액세스할 수 있어서, 제3자 애플리케이션이 내보낸 사진이나 문서와 같은 리소스에 액세스할 수 있습니다. 이를 설명하기 위해 파일을 미디어 저장소에 삽입한 다음 Chrome을 통해 액세스할 수 있습니다:
미디어 저장소에 사용자 지정 항목 삽입:
새로 삽입된 파일의 식별자를 발견하세요:
파일은 파일 식별자를 사용하여 구성된 URL을 사용하여 Chrome에서 볼 수 있습니다.
예를 들어, 특정 애플리케이션과 관련된 파일을 나열하려면:
Chrome CVE-2020-6516: Same-Origin-Policy Bypass
Same Origin Policy (SOP)는 브라우저의 보안 프로토콜로, 교차 출처 리소스 공유 (CORS) 정책에 명시적으로 허용되지 않는 한 웹 페이지가 다른 출처의 리소스와 상호 작용하는 것을 제한합니다. 이 정책은 정보 누출과 교차 사이트 요청 위조를 방지하기 위한 것입니다. Chrome은 content://
을 로컬 스키마로 간주하여 각 로컬 스키마 URL을 별도의 출처로 취급하는 엄격한 SOP 규칙을 시행합니다.
그러나 CVE-2020-6516은 Chrome의 취약점으로, content://
URL을 통해 로드된 리소스에 대한 SOP 규칙을 우회할 수 있게 했습니다. 실제로, content://
URL에서 로드된 JavaScript 코드는 다른 content://
URL을 통해 로드된 리소스에 액세스할 수 있었으며, 이는 특히 Android 10 이전 버전을 실행하는 Android 기기에서 주요한 보안 문제였습니다. 여기서는 범위 지정된 저장소가 구현되지 않았습니다.
아래의 증명 코드는 이 취약점을 보여줍니다. HTML 문서는 /sdcard에 업로드된 후 미디어 저장소에 추가되며, JavaScript에서 XMLHttpRequest
를 사용하여 미디어 저장소의 다른 파일의 내용에 액세스하고 표시하여 SOP 규칙을 우회합니다.
Proof-of-Concept HTML:
Last updated