朱老先生
朱老先生
  • 发布:2024-06-12 17:51
  • 更新:2024-06-13 13:32
  • 阅读:198

【报Bug】做等保测验时,发现webview file同源策略绕过漏洞

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: MacBook Pro (Retina, 15-inch, Mid 2015)

HBuilderX类型: 正式

HBuilderX版本号: 4.19

手机系统: Android

手机系统版本号: Android 14

手机厂商: OPPO

手机机型: find x7

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

预期结果:

实际结果:

bug描述:

2.3.2.Webview File同源策略绕过漏洞
检测目的 检测Apk中WebView的file域协议是否存在同源策略绕过的漏洞。
风险等级 高
风险描述 JavaScript的延时执行能够绕过file协议的同源检查,并能够访问受害应用的所有私有文件,即通过WebView对Javascript的延时执行和将当前Html文件删除掉并软连接指向其他文件就可以读取到被符号链接所指的文件,然后通过JavaScript再次读取HTML文件,即可获取到被符号链接所指的文件。大多数使用WebView的应用都会受到该漏洞的影响,恶意应用通过该漏洞,可在无特殊权限下盗取应用的任意私有文件,尤其是浏览器,可通过利用该漏洞,获取到浏览器所保存的密码、Cookie、收藏夹以及历史记录等敏感信息,从而造成敏感信息泄露。
检测步骤 1、反编译apk获取smali代码。
2、通过搜索smali代码中的所有webview相关调用,判断是否有显示的调用禁止文件访问策略,是,则安全;否,则存在风险。
检测结果 存在风险(发现1处)
结果描述 该Apk程序存在webview File同源策略绕过的漏洞。
检测详情 1.
[文件]:
com/amap/api/col/3l/i
[方法]:
public final a()V

解决方案 开发者自查:

  1. 将不必要导出的组件设置为不导出,并显式设置所注册组件的“android:exported”属性为false;
  2. 如果基于业务需求,代码中必须存在WebSettings.setJavaScriptEnabled(false)时,需要同时设置WebSettings.setAllowFileAccess(false),
    示例代码如下:
    settings.setJavaScriptEnabled(false);
    settings.setAllowFileAccess(false);
2024-06-12 17:51 负责人:无 分享
已邀请:
朱老先生

朱老先生 (作者)

@DCloud_Android_DQQ 麻烦看下吧

  • 1***@qq.com

    兄弟,这个问题有解决吗?

    2024-08-07 11:28

要回复问题请先登录注册