web-dev-qa-db-ja.com

SPIKEによるファジング-\ r \ nは考慮されていません

FTPプロトコルをファジングしたいのですが、現在は次のようになっています。

 s_read_packet();
 s_string("USER test\r\n");
 s_read_packet();
 s_string("PASS test\r\n");
 s_read_packet();

S_readline()も試してみました。問題は、次の画像に示されているものを取得していることです。

wrong FTP packet

次の2つの画像の内容を取得しているはずです。 Right FTP USER commandRight FTP PASS command

SPIKEが「\ r\n」文字を認識していないようです。これについて何か考えがありますが、なぜCRLF文字を正しく解析しないのですか?

6
eleanor

あなたへの私の返事を書くとき、私は何が問題であるかを思い出し、私はそれとビンゴをテストしました-それはまさに何が間違っているかです。

問題はスクリプトにあるのではなく、generic_send_tcpにあります-これは本来の動作ではありません。次のコマンドラインを使用した場合:

line_send_tcp 10.1.1.169 21 ftp.spk 0

の代わりに

generic_send_tcp 10.1.1.169 21 ftp.spk 0

すべてが機能します。以上です。ありがとう。

今、generic_send_tcpが正しく動作しない理由を自問する必要があると思いますか?

4
eleanor

質問を理解するのに苦労しましたが、 SPIKEを使用したFTPサーバーのファジングに関するチュートリアル および SPIKEに関する別のチュートリアル を提案できます。

SPIKEスクリプトをデバッグするときは、Wireshark(または他のパケットスニファ)を起動し、SPIKEファザーを実行し、SPIKEファザーによってFTPサーバーに送信されているトラフィックを調べ、それがそうであるかどうかを確認すると便利だと思います。あなたが欲しかったもの。

0
D.W.