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(),停止加载问题页面

更多相关文章

  1. SQLite数据库增删改查操作
  2. Fragment生命周期及基本使用
  3. 项目运行报错Error: Static interface methods are only support
  4. 【笔记】关于java.exe finished with non-zero exit value 3的错
  5. Android线程—HandlerThread的使用及原理
  6. Android拍照流程
  7. 解决Debug certificate expired的问题
  8. Android与H5交互,向H5注入APP账号密码免登录等。
  9. 安卓笔记-视频版(还没学完)

随机推荐

  1. android中开机自动运行程序
  2. Android让帧动画在结束时消失
  3. android小问题:keystore问题-微信支付-And
  4. android 实现屏幕截图
  5. ubuntu14.04 64bit主机下面安装android的
  6. Android(安卓)点击back键两次退出程序
  7. 使用手机调试Android软件
  8. Android(安卓)launcher -- launcher源码
  9. 【android】解决在图库中缩略图与实际图
  10. android AIDL通信