私は、WebInterfaceのユーザーから要求されたbashのリクエストを処理するプログラムを開発中です。ユーザーに柔軟性を持たせるために、各ジョブごとにいくつかのパラメーターを指定することができます。最後に、要求は特定の名前のファイルに保管されるため、bashスクリプトは要求されたタスクを実行できます。実行を避けるソース設定ファイル
最後にこのファイルは、次のように満たされている:だからbashスクリプトは、要求された必要なタスクのユーザーを実行するために、このファイルをソースします
ENVIRONMENT="PRO"
INTEGRATION="J050_provisioning"
FILE="*"
DIRECTORY="out"
。ユーザーが悪質なデータを入力した場合、それはこれまでの素晴らしい作品が、私はこれをセキュリティ上の問題を参照してください、のようなもの:ファイルをソース際
SOMEVAR="GONNAHACK $(rm -f some_important_file)"
OTHERVAR="DANGEROUZZZZZZ `while :; do sleep 10 & done`"
は、これは望ましくない影響を引き起こします:)。ソースファイルが任意のコードを実行し、変数の初期化を行わないようにする方法はありますか?または、唯一の方法はちょうどgrepソースファイルは危険ではないことを確認する前にソースファイルですか?
ありがとうございます!それはかなりうまくいく:) – alphamikevictor