uni-app android 离线打包时 webview file域访问问题:开启了file域访问,允许file域访问http域,且未对file域路径进行严格限制
uni-app android 离线打包时 webview file域访问问题:开启了file域访问,允许file域访问http域,且未对file域路径进行严格限制
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
产品分类:
uniapp/App
PC开发环境操作系统:
Windows
HBuilderX类型:
正式
HBuilderX版本号:
3.1.4
手机系统:
Android
手机系统版本号:
Android 10
手机厂商:
小米
手机机型:
xiaomi9
页面类型:
vue
打包方式:
离线
示例代码:
<web-view :src="pageUrl" @message=""></web-view>
操作步骤:
使用了webview标签,打开html页面;在Android应用中,WebView开启了file域访问,允许file域访问http域,且未对file域的路径进行严格限制。攻击者通过URL Scheme的方式,可远程打开并加载恶意HTML文件,远程获取用户隐私数据(包括手机应用数据、照片、文档等敏感信息),还可窃取用户登录凭证,在受害者毫无察觉的情况下实现对APP用户账户的完全控制。
预期结果:
WebView不开启file域访问
实际结果:
WebView开启了file域访问
bug描述:
使用了webview标签,打开html页面;在Android应用中,WebView开启了file域访问,允许file域访问http域,且未对file域的路径进行严格限制。攻击者通过URL Scheme的方式,可远程打开并加载恶意HTML文件,远程获取用户隐私数据(包括手机应用数据、照片、文档等敏感信息),还可窃取用户登录凭证,在受害者毫无察觉的情况下实现对APP用户账户的完全控制。
若file域访问为非功能需求时,手动配置setAllowFileAccessFromFileURLs或setAllowUniversalAccessFromFileURLs两个API为false。(Android4.1版本之前这两个API默认是true,需要显式设置为false)
更多关于uni-app android 离线打包时 webview file域访问问题:开启了file域访问,允许file域访问http域,且未对file域路径进行严格限制的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app android 离线打包时 webview file域访问问题:开启了file域访问,允许file域访问http域,且未对file域路径进行严格限制的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个严重的安全漏洞。在uni-app Android离线打包中,WebView默认配置确实存在file域访问的安全风险。
问题核心在于Android WebView的setAllowFileAccessFromFileURLs和setAllowUniversalAccessFromFileURLs默认启用,导致file协议页面可以访问http域和本地文件系统。
解决方案:
在离线打包的Android原生工程中,需要显式禁用这些设置:
WebSettings webSettings = webView.getSettings();
webSettings.setAllowFileAccessFromFileURLs(false);
webSettings.setAllowUniversalAccessFromFileURLs(false);

