telnetでraw ftpコマンドを実行しようとすると、vsftpサーバーは500個の無効なポートコマンドを返します。

telnetでraw ftpコマンドを実行しようとすると、vsftpサーバーは500個の無効なポートコマンドを返します。

現在私はTelnetクライアントでftpコマンドを実行しようとしています。成功し、USERvsftpPASSを試みたときにサーバーで例外が発生しました。 RFC 959で指定された構文に従います。PASVLISTPORT500 Illegal PORT command

データポート(ポート)

パラメータは、データ接続に使用されるデータポートのHOST-PORT仕様です。ユーザーとサーバーのデータポートにはデフォルト値があり、このコマンドとその応答は通常必要ありません。このコマンドを使用する場合、パラメーターは32ビットインターネットホストアドレスと16ビットTCPポートアドレスを関連付けたものです。アドレス情報は8ビットフィールドに分割され、各フィールドの値は10進数(文字列表現)で送信されます。フィールドをカンマで区切ります。ポートコマンドは次のとおりです。

ポート h1,h2,h3,h4,p1,p2

ここで、h1はインターネットホストアドレスの上位8ビットです。

vsftpd設定ファイルが問題であるかどうかを確認するためにコマンドを試しましたftp。パッシブモードをオフにすると正常に動作します。それでは、Telnetクライアントで実行するとエラーが発生するのはなぜですか?以下に、セッションのスクリーンショットとtelnetデータnc接続を受信するセッションを添付しました。

ここに画像の説明を入力してください。

ベストアンサー1

世界が若くて翼竜がまだ空を飛んでいた昔は、IPネットワークに接続できるコンピュータの価格は10万ドル(実質ドル)であり、これらのコンピュータのシステム管理はほとんどオンラインで行われています。名前に応じて、65535 TCPポート(または65536)を2つのグループに分け、Unixカーネルが1024未満のポートへのアクセスを「root」に制限することにしました。この領域にはよく知られたポートが割り当てられます。

そのポートからの着信接続が表示されている場合、Dick、John、またはJaneは自分のコンピュータがハッキングされることを許可しないため、信頼できます。繰り返しますが、コンピュータで信頼できるプログラムだけがこれらのポートを開くことができます。

もちろん、今はビール3パイント(例えばRaspberry PI)以下でコンピュータを購入することができますが、もはやそうではありません。

したがって、OPが尋ねる最初の質問は、「無効なポート」メッセージを受信する理由でした。これは、デーモンがポート番号100(予約済みポート)に反対したためです。

コメントの後続の質問は逆の理由でした。ここへの答えは少しあいまいです。システムにfifoの内容を送信するように要求すると、ほとんどいつでも任意のバイトシーケンスを送信できます。 @ABが指摘したように、これによりFTPDを攻撃の一部として使用できます。

おすすめ記事