Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >android webview 漏洞

android webview 漏洞

作者头像
tea9
发布于 2022-07-16 09:20:51
发布于 2022-07-16 09:20:51
1.4K00
代码可运行
举报
文章被收录于专栏:tea9的博客tea9的博客
运行总次数:0
代码可运行

0x01 跨站脚本攻击

webview.getSettings().setJavaScriptEnabled(true) 设置WebView是否允许执行JavaScript脚本,默认false,不允许 API <= 17 需要注意的是在 API17 版本之后,需要在被调用的地方加上 @addJavascriptInterface 约束注解,因为不加上注解的方法是没有办法被调用的

0x02 任意代码执行漏洞

webview中addJavascriptInterface()接口

API <= 17 1、使用WebView.addJavascriptInterface方法注册可供javascript调用的java对象。 2、使用WebView加载外部网页。 3、Android系统版本低于4.2 在4.2以下放弃使用addJavascriptInterface,采用onJsPrompt或其它方法替换 或者使用一些方案来降低该漏洞导致的风险:如使用https并进行证书校验,如果是http则进行页面完整性校验,如上面所述移除隐藏接口

webview内置导出的searchBoxJavaBridge_对象 API < 17 webview内置导出的accessibility和accessibilityTraversal Object对象 Android3.0到4.4

0x03 密码明文存储漏洞

API for all webview.setSavePassword(true) 开启后,在用户输入密码时,会弹出提示框 询问用户是否保存密码 选择是密码会明文保存到/data/data/com.package.name/databases/webview.db

0x04 域控制不严格漏洞

API for all(其实 android4.1 之后下面的值默认为 false) file 协议 – WebView域控制不严格漏洞 对于file协议的 url 从而获取内部私有文件 webview.setAllowFileAccess(false);

0x05 不校验证书漏洞

关于webview签名验证 绕过证书校验漏洞

1.https认证

自签名证书 WebViewClient onReceivedSslError 默认handler.cancel()(白屏) 直接使用handler.proceed() 忽略了证书存在安全隐患 读取asserts中根证书 通过了 继续执行handler.proceed() 否则执行handler.cancel()

其他

webview 基础设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
settings.setPluginState(WebSettings.PluginState.OFF);// 支持插件
如务必要设置off
``

## LINKS

https://www.cnblogs.com/liyiran/p/7011317.html
https://blog.csdn.net/lsyz0021/article/details/54669914
https://www.cnblogs.com/sslwork/p/6193258.html
https://blog.csdn.net/harvic880925/article/details/51523983
https://blog.csdn.net/carson_ho/article/details/64904635
https://blog.csdn.net/qq_30993595/article/details/80678795
https://www.freebuf.com/articles/terminal/159787.html
https://www.cnblogs.com/goodhacker/p/3343837.html
https://www.jianshu.com/p/cbd5e84c60e0
https://www.jianshu.com/p/2c69f19e8316
https://blog.csdn.net/andy_5826_liu/article/details/88096596
https://blog.csdn.net/weixin_41508948/article/details/86066400
https://www.cnblogs.com/laughingQing/p/6392455.html
https://blog.csdn.net/henry_alpha/article/details/53314294
https://www.cnblogs.com/harry335/p/4546965.html
https://blog.csdn.net/li15225271052/article/details/73730321
https://blog.csdn.net/amazing_alex/article/details/71410670
https://www.jianshu.com/p/56e2b0bf9ab2
https://www.jianshu.com/p/3a345d27cd42
https://blog.csdn.net/u013107656/article/details/51728576
https://blog.csdn.net/xundh/article/details/53065788

乌云漏洞库
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android四大组件安全问题
Activity AndroidMainfest 配置 android:exported="false", 其它应用不可以调用 检测栈顶 Activity, 防止页面被劫持 WebView 加载网页发生证书认证错误时, 会调用 WebViewClient 类的 onReceivedSslError 方法, 如果该方法实现调用了 handler.proceed() 来忽略该证书错误, 则会受到中间人攻击的威胁, 可能导致隐私泄露。当发生证书认证错误时, 采用默认的处理方法 handler.cancel()
续写经典
2018/08/28
9570
Android APP安全防护总结
使用Lint对无用资源进行清理,而Lint则可以检查所有无用的资源文件,只要使用命令./gradlew lint或者在Android Studio工程中点击Analyze->Inspect Code,选择Whole Project点击ok就行。它在检测完之后会提供一份详细的资源文件清单,并将无用的资源列在“UnusedResources: Unused resources” 区域之下。只要你不通过反射来反问这些无用资源,你就可以放心地移除这些文件了。
天钧
2020/02/17
1.6K0
【Android】WebView 开发遇到的问题小结
这几天在AndroidStudio上利用WebView进行应用打包,期间遇到的几点问题有必要进行总结,在AS3.x上还是有一些不同,写Android SDK版本的更新带来的问题。在每个问题下可能会有相应的参考链接,这是在探索webView过程中起到帮助作用的帖子,谢谢他们!
前端修罗场
2023/10/07
7080
【Android】WebView 开发遇到的问题小结
android 学习资料[通俗易懂]
■ 安卓在线源码 http://androidxref.com/ https://www.androidos.net.cn/sourcecode
全栈程序员站长
2022/09/20
5080
【Android】WebView 应用模版 ( WebView 设置 | 设置 WebSettings | 启用调试模式 | 设置 WebChromeClient )
设置 WebSettings 前 , 要先获取 WebSettings 实例对象 , 调用 WebView#getSettings 函数 , 可以获取该 WebSettings 实例对象 ;
韩曙亮
2023/04/24
3.3K0
【Android】WebView 应用模版 ( WebView 设置 | 设置 WebSettings | 启用调试模式 | 设置 WebChromeClient )
史上最全的Java&Android面试题搜集整理
最近在忙着准备面试,所以从全网搜集了一下java和android相关的面试题目,应该能够包含80%以上的试题吧~如果大家还有一些比较全面优质的题目资源,欢迎告知,我会继续补充进来,以便于更多同学可以从中获益。
全栈程序员站长
2022/08/31
1900
Android WebView打开网页一片空白
试了很多方法,最后发现是Https的证书有问题,由于网页链接是客户提供的,不知道证书是如何生成的,导致不被Android系统信任
AntDream
2019/07/15
1.4K0
Android WebView打开网页一片空白
WebView 的一切都在这儿
本文作者 作者:reezy 链接: https://www.jianshu.com/p/a6f7b391a0b8 本文由作者授权发布。 文章较长,且大部分说明包含在注释中,建议收藏后慢慢看~ 1 目录 1. 相关API 1.1. 相关类介绍 1.2. WebView 1.3. WebSettings 1.4. WebViewClient 1.5. WebChromeClient 2.回调顺序 3.视口(viewport) 4.管理 Cookies 5.缓存(Cache) 6.预加载(Preload) 6
企鹅号小编
2018/01/25
2.2K0
微信小程序开发 (资料汇总,谁还没被坑过?希望助你绕过一些坑)
最近帮人家做一个微信小程序,刚好想熟悉一下。由于牵扯到多用户使用系统,以及数据共享,所以自然架构选择了,客户端和服务器的方式。
麦克-堂
2018/10/10
1.3K0
微信小程序开发 (资料汇总,谁还没被坑过?希望助你绕过一些坑)
【Android开发进阶系列,整理】Android与h5交互专题
        我们都知道在Android中是通过webView来加载html页面的,根据HTML文件所在的位置不同写法也不同:
江中散人_Jun
2023/10/16
1.1K0
【Android开发进阶系列,整理】Android与h5交互专题
强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)
本文主要说明了自己在设置fiddler抓取https过程中所遇到的问题及解决步骤,特别是fiddler在设置证书的环节遇到的各种奇葩问题,特此分享! 声明:本文为原创文章,转载请注明来源:https://www.cnblogs.com/joshua317/p/8670923.html 很多使用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就死活抓不了, 出现诸如以下问题: creation of the root certificate was not success
joshua317
2018/04/16
15.4K1
强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)
Java研发方向如何准备BAT技术面试答案(下)
这部分内容比较深入,整理了一些网络文章可参考,推荐看书籍的方式去复习。 81.深度优先和广度优先算法 推荐看书籍复习!网络文章只做参考,http://blog.163.com/zhoumhan_0351/blog/static/3995422720098342257387/ http://blog.163.com/zhoumhan_0351/blog/static/3995422720098711040303/ http://blog.csdn.net/andyelvis/article/details/1
JavaQ
2018/04/04
6780
安卓开发开发规范手册V1.0
之前发布过一份Web安全开发规范手册V1.0,看到收藏文章的读者挺多,发现整理这些文档还挺有意义。
汤青松
2019/09/03
1.8K0
WebView深度学习(三)之WebView的内存泄漏、漏洞以及缓存机制原理和解决方案
上两篇文章讲到了WebView的基本使用以及Android和js的交互 以及 全面总结WebView遇到的坑及优化 ,这篇文章讲一下内存泄漏和漏洞处理。如果你想更深入的了解WebView,这篇文章值得一看。
AWeiLoveAndroid
2018/09/03
3.4K0
WebView深度学习(三)之WebView的内存泄漏、漏洞以及缓存机制原理和解决方案
收集了一些免费的api接口
今天收集了一些免费的api接口,你们想要的,基本都可以在这里面找到,之后就不需要在网站上继续找了,这一篇就足够啦,目前还没有一个个的测试,后面有时间会筛选一些比较实用的。
王小婷
2019/07/01
12.5K1
工作记录,使用Uniapp开发安卓应用
项目需求:录制视频和语音,在app页面的上半部分实时显示。下半部分显示文字提示,提醒用户回答确认。最后将录制的视频提交到服务器保存。
房东的狗丶
2023/02/17
6.2K1
工作记录,使用Uniapp开发安卓应用
Appium—Native+H5混合APP的自动化
小编所在项目的客户端是比较奇怪的一个APP,大部分页面Android和iOS的客户端只提供了webview的功能,都是由H5处理业务逻辑和用户交互。H5承担了和服务端、和客户端的交互。
软测小生
2020/02/13
2.1K0
Appium—Native+H5混合APP的自动化
【Jenkins】Jenkins集成Android全自动参数化打包专题
java -jar slave.jar -jnlpUrl http://192.168.23.13:8080/jenkins/computer/IOS_Node/slave-agent.jnlp -secret62b5dc021bbf90e8207057760bf71fae93867c154add3963e5f9c3befee2df06
江中散人_Jun
2023/10/16
4940
【Jenkins】Jenkins集成Android全自动参数化打包专题
史上最全webview详解
WebView在现在的项目中使用的频率应该还是非常高的。 我个人总觉得HTML5是一种趋势。找了一些东西,在此总结。 本篇最后有一个非常不错 的 Html5Activity 加载类,不想看的可以直接跳下载。 WebSettings WebSettings webSettings = mWebView .getSettings(); //支持获取手势焦点,输入用户名、密码或其他 webview.requestFocusFromTouch(); setJavaScriptEnabled(true);
xiangzhihong
2018/02/01
6.8K0
字节、百度等大厂面经,资深服务端工程师谈跳槽感悟
今天大鹏请来一位大厂有 4 年工作经验的服务端资深工程师,在2020年多事之秋的节点,跟大家谈一下跳槽感悟,分享一下自己的面试经历
灵魂画师牧码
2020/07/23
1.1K0
字节、百度等大厂面经,资深服务端工程师谈跳槽感悟
相关推荐
Android四大组件安全问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验