1
コードからMicrosoft Rdpアプリケーションを実行しようとしています。Javaのコマンドインジェクションの脆弱性
私は、次の擬似コードとSonarQube
約Command Injection Vulnerability
String rdpFilePath = myObject.getRdpFilePath() // get path of .rdp settings file
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("mstsc", rdpFilePath).start();
SonarQube問題の説明は、次のされて文句を言うている:
-Potential Command Injection-
The highlighted API is used to execute a system command.
If unfiltered input is passed to this API, it can lead to arbitrary command execution.
どのように私の入力をフィルタリングすることができ、どのように私は、このセキュリティ問題を修正することができますか?
こんにちは、rdpFilePathの存在チェックと可読性チェックを追加しました。しかし、この場合でも、SonarQubeはコマンド注入の脆弱性について警告しています。私が探しているのは、この問題に対する最も安全な解決策です。 –
これらのチェックではセキュリティ上の問題はありません。しかし、SonarQubeはフィルタリングコードを理解することができず、潜在的なセキュリティリスクについて引き続き警告します。コードブロックに対して特定の警告を無効にすることができます。この[回答](https://stackoverflow.com/questions/10971968/turning-sonar-off-for-certain-code)を確認してください。 – berserkk