1. 问题说明
如果程序调用了 android/webkit/SslErrorHandler 类的 proceed 方法,就可能使得 WebView 忽略校验证书的步骤,这很容易受到中间人攻击,可能导致隐私数据泄漏。
2. 测试步骤
在代码中搜 “onReceivedSslError”,看是否调用了 handle.process() 方法(在 webview 组件代码中测试),如果调用了则存在问题。也可以在 Jadx 中全局搜索。
3. 修复建议
- 不要调用 android.webkit.SslErrorHandler 的 proceed方法;
- 当发生证书认证错误时,采用默认的处理方法 SslErrorHandler.cancel(),停止加载问题页面。