关于geo_global_ca.cer证书,我app需要安全测试,我本地打完包里面多了个关于geo_global_ca.cer证书,怎么换成我自己的呢?就是那个ssl证书
检测目的 检测 WebView 组件是否存在忽略 SSL 证书验证错误。
风险等级 中
威胁描述
Android WebView 组件加载使用 HTTPS 协议加密的网页时,如果服
务端校验证书错误,客户端应该拒绝加载网页。但是如果发生证书认证
错误时,调用 WebViewClient 类的 onReceivedSslError 方法,并在
该方法实现中调用了 handler.proceed()来忽略该证书错误,则客户端
会绕过证书校验错误继续加载此网页。这样会导致“中间人攻击”,攻
击者可以冒充中间人,在客户端和服务端中间转发信息,窃取账号、密
码等敏感信息。
检测结果 存在风险
结果描述 该应用存在 WebView 组件忽略 SSL 证书错误漏洞。检测文件总数
5543 个,检测出 6 处风险。
出现次数 6 次
检测详情
1.使用静态检测引擎对 APK 进行反编译。
2.扫描反编译后的代码文件,发现应用调用了 handler.proceed()来忽
略该证书错误。
第 1 处:
文件:
io.dcloud.WebviewActivity$2$2.java
代码:
.method public onClick(Landroid/content/DialogInterface;I)V
invoke-virtual {p1},
Landroid/webkit/SslErrorHandler;->proceed()V
第 2 处:
文件:
io.dcloud.WebviewActivity$2.java
代码:
.method public
onReceivedSslError(Landroid/webkit/WebView;Landroid/webkit/
SslErrorHandler;Landroid/net/http/SslError;)V invoke-virtual {p2},
Landroid/webkit/SslErrorHandler;->proceed()V
第 3 处:
文件:
io.dcloud.common.adapter.ui.webview.WebLoadEvent$2.java
代码:
.method public onClick(Landroid/content/DialogInterface;I)V
invoke-virtual {p1},
Landroid/webkit/SslErrorHandler;->proceed()V
第 4 处:
文件:
io.dcloud.common.adapter.ui.webview.WebLoadEvent.java
代码:
.method public
onReceivedSslError(Landroid/webkit/WebView;Landroid/webkit/
SslErrorHandler;Landroid/net/http/SslError;)V invoke-virtual {p2},
Landroid/webkit/SslErrorHandler;->proceed()V
第 5 处:
文件:
io.dcloud.feature.ad.dcloud.ADWebView$1$2.java
代码:
.method public onClick(Landroid/content/DialogInterface;I)V
invoke-virtual {p1},
Landroid/webkit/SslErrorHandler;->proceed()V
第 6 处:
文件:
io.dcloud.feature.ad.dcloud.ADWebView$1.java
代码:
.method public
onReceivedSslError(Landroid/webkit/WebView;Landroid/webkit/
SslErrorHandler;Landroid/net/http/SslError;)V invoke-virtual {p2},
Landroid/webkit/SslErrorHandler;->proceed()V
当发生证书认证错误时,采用默认的处理方法 handler.cancel(),停止
解决方案 加载问题页面。
爱慧儿 (作者)
这个是别人做的安全检测,具体怎么做的我不清楚。
2020-11-20 09:53