content:// protocol
最后更新于
最后更新于
要列出由媒体存储管理的文件,可以使用以下命令:
为了更人性化的输出,仅显示每个索引文件的标识符和路径:
内容提供程序被隔离在它们自己的私有命名空间中。访问提供程序需要特定的 content://
URI。可以从应用清单或Android框架的源代码中获取访问提供程序的路径信息。
Android 上的 Chrome 可以通过 content://
方案访问内容提供程序,从而可以访问第三方应用程序导出的照片或文档等资源。为了说明这一点,可以将文件插入到媒体存储中,然后通过 Chrome 访问:
发现新插入文件的标识符:
文件可以通过使用构建的带有文件标识符的URL在Chrome中查看。
例如,要列出与特定应用程序相关的文件:
Same Origin Policy (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:
这是一篇文章的摘要
如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看!
获取
探索,我们的独家
加入 💬 或 或 关注我们的Twitter 🐦 。
通过向和 github仓库提交PR来分享您的黑客技巧。