分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Webview跨域访问风险

发布时间:2023-09-06 01:36责任编辑:林大明关键词:Web跨域

漏洞原理:
WebView对象的行为是通过WebSettings类进行设置的,如果配置不当,攻击者就可以利用该漏洞可以打破Android沙盒隔离机制,从而通过某个应用来攻击其它应用,盗取其它应用本地保存的配置文件、敏感信息等。

主要利用了android.webkit.WebSettings类中setAllowFileAccess()、setJavaScriptEnabled()、setAllowFileAccessFromFileURLs()、setAllowUniversalAccessFromFileURLs()四个方法配置不当(允许webview使用file协议并允许使用javaScript)的风险,并配合Activity组件暴露漏洞进行攻击。

<strong>setAllowFileAccess()</strong>// 启用或禁用Webview中的文件访问,默认是truewebView.getSettings().setAllowFileAccess(true); <strong>setJavaScriptEnabled()</strong>// 设置webview是否启用javascript执行,默认是false,设置为true就是启用javascript执行。webview.getWebSettings().setJavaScriptEnabled(true); <strong>setAllowFileAccessFromFileURLs()</strong>// 设置是否允许通过 file url 加载的文件中Js代码读取其他的本地文件。// 需要注意的是如果getAllowUniversalAccessFromFileURLs()的值为true,则此设置的值将被忽略。要启用最严格的安全策略,应该禁用此设置:webView.getSettings().setAllowFileAccessFromFileURLs(false);// Api级别15及以下,默认是true// Api级别JELLY_BEAN(API级别16,android4.1版本代号,中文翻译果冻豆)及以上默认是false <strong>setAllowUniversalAccessFromFileURLs()</strong>// 设置是否允许通过 file url 加载的 Javascript 可以访问其他的源(包括http、https等源)webView.getSettings().setAllowUniversalAccessFromFileURLs(true);// Api级别15及以下,默认是true// Api级别JELLY_BEAN(API级别16,android4.1版本代号,中文翻译果冻豆)及以上默认是false
View Code

Webview跨域访问风险

原文地址:https://www.cnblogs.com/sprinng/p/8284006.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved