MASTG-BEST-0013: 在 WebView 中禁用内容提供者访问
与 WebSettings
中的其他文件内容访问方法不同,setAllowContentAccess
方法始终默认为 true
。因此,当不需要显式访问内容提供程序时,请确保将 setAllowContentAccess
方法设置为 false
,以阻止 WebView 访问内容提供程序。
为什么这很重要?¶
在 WebView 中启用内容访问本身并不是一个漏洞;它增加了攻击者利用漏洞链的可能性。例如,如果与 XSS 或其他注入漏洞结合使用(或者如果 WebView 用于显示不受信任的远程内容),它可能允许攻击者读取敏感数据并将其发送回远程服务器。
尽管存在许多“安全措施”(例如 CORS 限制以及未导出的提供程序不会向任何外部调用者提供数据的事实),但应用程序自己的内容提供程序即使未导出也仍然可访问;它们可能访问应用程序的私有存储,包括内部和外部存储。在某些情况下,根据应用程序权限(例如 READ_MEDIA_IMAGES
等),甚至可以访问共享/外部存储中其他应用程序的文件。
测试¶
MASTG-TEST-0251: WebView 中内容提供程序访问 API 的运行时使用 MASTG-TEST-0250: WebView 中内容提供程序访问的引用