SV.ECV
此检查器会检测空 SSL 证书验证的情况。
将在无关紧要地实施 org.apache.http.conn.ssl.X509HostnameVerifier 接口的“验证”方法的类上报告 SV.ECV 缺陷。
漏洞与风险
如果证书验证为空,所有 SSL 证书将被视为有效。这样便存在中间人攻击的可能性,导致入侵者能够访问安全的数据。
缓解与预防
要预防此问题,实施 X509HostnameVerifier 接口的类的“验证”方法应执行实际的验证,并且不应为空或由单个返回语句组成。
漏洞代码示例
复制
private static X509HostnameVerifier ACCEPT_ALL_HOSTNAMES =
new X509HostnameVerifier() {
public void verify(String host, String[] cns, String[] subjectAlts) throws SSLException {
}
public void verify(String host, X509Certificate cert) throws SSLException {
}
public void verify(String host, SSLSocket ssl) throws IOException {
}
public boolean verify(String host, SSLSession session) {
return true;
}
};