「wget」とそのオプションを使用すると発生する可能性がある脆弱性があるかどうか疑問に思います。特に、ベンチマークスクリプトを使用してVPSパフォーマンスをテストしました。コマンドは次のとおりです。
wget -qO- bench.sh | bash
-q0-の機能を知っていますが、コマンドの最後に「bash」パラメーターを記述するリソースが見つかりませんでした。
答え1
次のコマンド
wget -qO- bench.sh | bash
「bench.shからファイルをインポートしてbash
実行」を意味します。
これは実際には次のとおりです。
wget -q -Otestfile bench.sh
bash testfile
ただし、一時ファイルは必要ありません。
したがって、ダウンロードして実行するだけです。信頼できないパスワード。今日はファイルをダウンロードして「不愉快な」コマンドを確認できますが、明日もまだきれいでしょうか?それとも翌日?
これはセキュリティの問題ですか?潜在力がある。
bench.shを実行している人をどれだけ信頼しているのか、誰かがサーバーに侵入して不正な変更を試みる可能性がどれだけあるかを確認する必要があります。また、接続はパススルー接続なhttp
ので、「中間者」攻撃を受ける可能性があり、コンピュータに転送されるデータが変更されることがあります。
個人的には、私はこのようにスクリプトを実行しません。しかし、そうする人がたくさんいます。
答え2
bash
パラメータではありませんwget
。ここで何が起こるのかは、何かをダウンロードして実行wget
に渡すことですbash
。
はい、ここにはセキュリティの問題があります。問題は、スクリプト自体を見ずにどこかから取得したシェルスクリプトを実行していることです。wget
何らかの形で出身の場合信頼できるソースがそうであれば、おそらく大丈夫だと思います。そうでない場合は、ファイルにダウンロードすることをお勧めします。最初、確認してからシェルスクリプトで実行します(安全だと思われる場合)。
一部のトロイの木馬はシェルスクリプトとして配布されるため、ユーザーはスクリプトをダウンロードして実行する必要があります。 Linux.MulDrop.14(Bitcoin Miner)は、以前のRaspberry Piをターゲットにしたスクリプトです。
答え3
基本的にそれがする-qO-
ことは
-q, --quiet quiet (no output)
静かに実行されます(ログ/診断出力を生成しません)。
-O, --output-document=FILE write documents to FILE
出力(ダウンロードしたファイル)をデフォルトの-
場所に送信しますstdout
。
したがって、ダウンロードするすべてのアイテムはパイプラインを介して実行されますbash
。
誰かがサーバーをハッキングしてrm -rf ~
スクリプトを(または同様の)スクリプトに置き換えると、すべてのファイルが失われます。これが問題かどうかを評価することは、環境によって異なります。
スクリプトの機能を分析するには、次のコマンドを使用してダウンロードできます。
wget -q -O bench.sh bench.sh
次に、bench.sh
テキストエディタで開いて確認します。