如何使用FTP SSL c#

时间:2009-08-17 20:14:27

标签: c# asp.net sftp ftps

通过使用以下代码,我的客户端应用程序正在连接到安全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;
}

1 个答案:

答案 0 :(得分:1)

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

在这种情况下,攻击者可以将自己置于您和服务器之间并将流量重定向到自己,构成另一个安全的FTP站点(您无法区分,因为您没有检查服务器的凭据)并采取上传或者提供要下载的文件。一个特别阴险的攻击者实际上会将文件转发到真实服务器上,可能只需要很小的改动,如果它们可以让你觉得一切正常。

验证服务器的证书可确保您将文件FTP到正确的目标