博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android WebView存在跨域访问漏洞(CNVD-2017-36682)介绍及解决
阅读量:5836 次
发布时间:2019-06-18

本文共 1324 字,大约阅读时间需要 4 分钟。

  Android WebView存在跨域访问漏洞(CNVD-2017-36682)。攻击者利用该漏洞,可远程获取用户隐私数据(包括手机应用数据、照片、文档等敏感信息),还可窃取用户登录凭证,在受害者毫无察觉的情况下实现对APP用户账户的完全控制。由于该组件广泛应用于Android平台,导致大量APP受影响,构成较为严重的攻击威胁。

一、漏洞情况分析

  WebView是Android用于显示网页的控件,是一个基于Webkit引擎、展现web页面的控件。WebView控件功能除了具有一般View的属性和设置外,还可对URL请求、页面加载、渲染、页面交互进行处理。
  该漏洞产生的原因是在Android应用中,WebView开启了file域访问,允许file域访问http域,且未对file域的路径进行严格限制所致。攻击者通过URL Scheme的方式,可远程打开并加载恶意HTML文件,远程获取APP中包括用户登录凭证在内的所有本地敏感数据。
  漏洞触发成功前提条件如下:
    1.WebView中setAllowFileAccessFromFileURLs 或setAllowUniversalAccessFromFileURLsAPI配置为true;
    2.WebView可以直接被外部调用,并能够加载外部可控的HTML文件。
二、漏洞影响范围
  漏洞影响使用WebView控件,开启file域访问并且未按安全策略开发的Android应用APP。
三、漏洞修复建议
  厂商暂未发布解决方案,临时解决方案如下:
    1. file域访问为非功能需求时,手动配置setAllowFileAccessFromFileURLs或setAllowUniversalAccessFromFileURLs两个API为false。(Android4.1版本之前这两个API默认是true,需要显式设置为false)
    2. 若需要开启file域访问,则设置file路径的白名单,严格控制file域的访问范围,具体如下:
    (1)固定不变的HTML文件可以放在assets或res目录下,file:///android_asset和file:///android_res 在不开启API的情况下也可以访问;
    (2)可能会更新的HTML文件放在/data/data/(app) 目录下,避免被第三方替换或修改;
    (3)对file域请求做白名单限制时,需要对“../../”特殊情况进行处理,避免白名单被绕过。
    3. 避免App内部的WebView被不信任的第三方调用。排查内置WebView的Activity是否被导出、必须导出的Activity是否会通过参数传递调起内置的WebView等。
    4. 建议进一步对APP目录下的敏感数据进行保护。客户端APP应用设备相关信息(如IMEI、IMSI、Android_id等)作为密钥对敏感数据进行加密。使攻击者难以利用相关漏洞获得敏感信息。

 

转载于:https://www.cnblogs.com/water-wjf/p/8257452.html

你可能感兴趣的文章
前端基础之JavaScript
查看>>
自己动手做个智能小车(6)
查看>>
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
我的友情链接
查看>>
写Use Case的一种方式,从oracle的tutorial抄来的
查看>>
【C#】protected 变量类型
查看>>
Ubuntu解压
查看>>
爬虫_房多多(设置随机数反爬)
查看>>
藏地密码
查看>>
爬虫去重(只是讲了去重的策略,没有具体讲实现过程,反正就是云里雾里)...
查看>>
react中将px转化为rem或者vw
查看>>
8816
查看>>
avcodec_open2()分析
查看>>
何如获取单选框中某一个选中的值
查看>>