File Transfer Protocol
FTPログインは、アクセスを許可するために通常のユーザ名とパスワードのスキームを使用する。ユーザ名はUSERコマンドを使用してサーバに送信され、パスワードはPASSコマンドを使用して送信される。この一連のやり取りは暗号化されていないため、盗聴攻撃(英語版)に対して脆弱である。クライアントから提供された情報がサーバによって受け入れられた場合、サーバはクライアントにグリーティングを送信し、セッションが開始される。
FTPは、インターネット初期から存在する古いプロトコルであり、セキュア(安全)なプロトコルとして設計されていない。ユーザ名やパスワードなどの認証情報を含むすべての通信内容を暗号化せずに転送するなどの問題の他、数多くのセキュリティ脆弱性が指摘されている。RFC 2577(1999年5月)では、以下の脆弱性が列挙されている。
総当たり攻撃
FTPバウンス攻撃(英語版)
パケットキャプチャ
Port stealing(次に開いているポートを推測して正当なコネクションを奪う)
スプーフィング攻撃
ユーザ名保護
DoS攻撃
FTPは通信内容を暗号化できない。全ての送信は平文で行われるため、通信経路上でパケットをキャプチャすることで、ユーザ名・パスワード・コマンド・データといった情報を容易に盗聴できる。この問題は、TLS/SSLなどの暗号化メカニズムが開発される前に設計された他のインターネットプロトコル仕様(SMTP、Telnet、POP、IMAPなど)でも同様である。