1

通过使用以下代码,我的客户端应用程序正在连接到安全 FTP 服务器并成功将文件推送到那里。您是否认为以下方法仍然通过接受所有证书而留下安全漏洞。如果是这样,任何人都可以帮助我从我在 FTP 服务器上的客户端传递特定证书。

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);

// Where AcceptAllCertifications is defined as...

public bool AcceptAllCertifications(object sender,
    System.Security.Cryptography.X509Certificates.X509Certificate certification,
    System.Security.Cryptography.X509Certificates.X509Chain chain,
    System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
    return true;
}
4

1 回答 1

1

我不确定是否要验证来自服务器的特定证书,但您在此方案中引入的安全问题非常简单。

在这种情况下,攻击者可以将自己置于您和服务器之间,并将流量重定向到自己,伪装成另一个安全的 FTP 站点(您无法区分,因为您没有检查服务器的凭据),然后上传或提供给您要下载的文件。一个特别阴险的攻击者实际上会将文件转发到真实的服务器上,如果可以的话,可能会进行一些小的更改,以使您认为一切正常。

验证服务器的证书可确保您将文件通过 FTP 传输到正确的目标或从正确的目标传输

于 2009-08-18T00:11:10.873 回答