Android Webview File同源策略绕过漏洞

本文揭示了WebView中file域协议同源策略绕过的高危漏洞,详细说明了JavaScript延时执行如何绕过同源检查,导致恶意应用无权限访问和窃取私有文件,包括浏览器保存的密码、Cookie等敏感信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测评目的检测Apk中WebView的file域协议是否存在同源策略绕过的漏洞
危险等级
危害JavaScript的延时执行能够绕过file协议的同源检查,并能够访问受害应用的所有私有文件,即通过WebView对Javascript的延时执行和将当前Html文件删除掉并软连接指向其他文件就可以读取到被符号链接所指的文件,然后通过JavaScript再次读取HTML文件,即可获取到被符号链接所指的文件。大多数使用WebView的应用都会受到该漏洞的影响,恶意应用通过该漏洞,可在无特殊权限下盗取应用的任意私有文件,尤其是浏览器,可通过利用该漏洞,获取到浏览器所保存的密码、Cookie、收藏夹以及历史记录等敏感信息,从而造成敏感信息泄露。
测评结果存在风险(发现4处)
测评结果描述该Apk程序存在webview File同源策略绕过的漏洞
测评详细信息… (省略具体位置)

解决方案

1.对于不需要使用 file 协议的应用,禁用 file 协议

setAllowFileAccess(false);

2.对于需要使用 file 协议的应用,禁止 file 协议加载 JavaScript

setAllowFileAccess(true); 

// 禁止 file 协议加载 JavaScript
if (url.startsWith("file://") {
    setJavaScriptEnabled(false);
} else {
    setJavaScriptEnabled(true);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值