邮箱大师存在设计缺陷可导致用户邮箱通讯录泄露
1.这是个很奇怪的问题,我使用邮箱大师登录我的网易邮箱(同时测试了hotmail),因为默认使用HTTPS(也许是网易自己写的协议)传输,所以整个过程通过抓包工具是无法抓到的。
2.但当我使用邮箱大师登录我的QQ邮箱(同类的如@vip.qq.com,@foxmail.com),使用抓包工具却可以抓到我的邮箱通讯录(来自https://dav.qq.com域),使用的是PROPFIND和REPORT请求(相关协议源码位于 com.netease.mobimail.net.protocol.a.f),返回XML格式的邮箱通讯录信息

反编绎分析了下源码,发现多处重写了onReceivedSslError方法和checkServerTrusted方法,会忽略证书错误继续加载和信任所有证书,但具体是哪处影响了https://dav.qq.com还待分析

?1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16package com.netease.mobimail.net.protocol.activesync;
import java.security.cert.X509Certificate;
import javax.net.ssl.X509TrustManager;
final class b implements X509TrustManager {
b {
super;
}
public void checkClientTrusted(X509Certificate[] arg1, String arg2) {
}
public void checkServerTrusted(X509Certificate[] arg1, String arg2) {
//此方法为空,没检测服务器证书有效性
}
public X509Certificate getAcceptedIssuers {
return new X509Certificate[0];
解决方案:
过滤