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复制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
乌云漏洞库