Android静态安全检测 -> WebView忽略SSL证书错误检测

ebView忽略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】漏洞代码样例

 

【3】参考链接:http://wolfeye.baidu.com/blog/webview-ignore-ssl-error/

 

四、修复建议

 

【1】不调用android.webkit.SslErrorHandler的proceed方法

 

【2】当发生证书认证错误时,采用默认的处理方法SslErrorHandler.cancel(),停止加载问题页面

 

reprint:https://blog.csdn.net/u013107656/article/details/51728576

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值