Android静态安全检测 -> WebView忽略SSL证书错误检测
16lz
2021-01-26
WebView忽略SSL证书错误检测 -SslErrorHandler.proceed方法
一、API
1. 继承关系
【1】java.lang.Object
【2】android.os.Handler
【3】android.webkit.SslErrorHandler
2. 主要方法
【1】cancel( )
停止加载问题页面
【2】proceed( )
忽略SSL证书错误,继续加载页面
【3】其他方法
参考链接:http://www.apihome.cn/api/android/SslErrorHandler.html
二、触发条件
1. 调用SslErrorHandler类的proceed方法
【1】对应到smali语句中的特征:Landroid/webkit/SslErrorHandler;->proceed()V
2. 方法名:onReceivedSslError
三、漏洞原理
【1】Android WebView组件加载网页发生证书认证错误时,会调用WebViewClient类的onReceivedSslError方法,如果该方法实现调用了handler.proceed()来忽略该证书错误,则会受到中间人攻击的威胁,可能导致隐私泄露
【2】漏洞代码样例
WebView忽略SSL证书错误检测_第1张图片" width="650" height="206" style="border:1px solid black;">
【3】参考链接:http://wolfeye.baidu.com/blog/webview-ignore-ssl-error/
四、修复建议
【1】不调用android.webkit.SslErrorHandler的proceed方法
【2】当发生证书认证错误时,采用默认的处理方法SslErrorHandler.cancel(),停止加载问题页面
更多相关文章
- SQLite数据库增删改查操作
- Fragment生命周期及基本使用
- 项目运行报错Error: Static interface methods are only support
- 【笔记】关于java.exe finished with non-zero exit value 3的错
- Android线程—HandlerThread的使用及原理
- Android拍照流程
- 解决Debug certificate expired的问题
- Android与H5交互,向H5注入APP账号密码免登录等。
- 安卓笔记-视频版(还没学完)