类型: 安全缺陷

    当进行SSL连接时,服务器身份验证处于禁用状态。在某些使用SSL连接的库中,默认情况下不验证服务器证书。这相当于信任所有证书。

    1. SimpleEmail email = new SimpleEmail();
    2. email.setHostName("smtp.testemail.com");
    3. email.setCharset("UTF-8");
    4. email.setSmtpPort(25);
    5. email.setAuthenticator(new DefaultAuthenticator(name, pwd));
    6. email.setSSLOnConnect(true);
    7. email.setFrom("test@163.com");
    8. email.setSubject("测试主题");
    9. email.setMsg("邮件内容");
    10. email.addTo("admin@163.com");
    11. email.send();

    当尝试连接到smtp.testemail.com:25时,此应用程序将随时接受颁发给hackedserver.com的证书。此时,当服务器被黑客攻击发生SSL连接中断时,应用程序可能会泄漏用户敏感信息。