QTcp* を使用してサーバー/クライアント接続を確立できるアプリケーションを開発しています
クライアントはサーバーに番号を送信します。
受信した文字列は、その長さと品質がチェックされます (それは本当に数字ですか?)
すべてが OK の場合、サーバーはファイル パス (送信された番号によって異なります) を返します。
クライアントは、ファイルが存在するかどうか、および有効なイメージであるかどうかを確認します。ファイルがルールに準拠している場合、ファイルに対してコマンドを実行します。
このタイプの接続には、どのようなセキュリティ上の懸念がありますか?
このプログラムは Linux システム用に設計されており、イメージ ファイルに対する外部コマンドは QProcess を使用して実行されます。送信された文字列に次のようなものが含まれている場合 (次のコマンドを実行しないでください):
; rm -rf /
次に、ファイルが見つからないセキュリティ チェックでブロックされます (ファイル パスではないため)。送信された文字列の有効性についてチェックが行われなかった場合、次のコマンドが実行されます。
command_to_run_on_image ; rm -rf /
それはパニックを引き起こすでしょう!しかし、これは起こり得ません。
それで、私が考慮すべきことはありますか?