gpt4 book ai didi

java - Java中的命令注入(inject)漏洞

转载 作者:行者123 更新时间:2023-11-30 06:40:57 28 4
gpt4 key购买 nike

我正在尝试从代码运行 Microsoft Rdp 应用程序。

我有以下伪代码,SonarQube 提示命令注入(inject)漏洞

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.

如何过滤我的输入以及如何解决此安全问题?

最佳答案

您的 sample 非常安全。在执行 mstsc 之前,您应该在此处添加的一件事是检查 rdpFilePath 文件是否存在。

如果您将未过滤的用户输入作为 command 方法的第一个参数(有时,如果您要运行的程序允许运行,则下一个参数也可能容易受到攻击),那么您会遇到安全问题也有命令)。在这种情况下,用户可以在系统上执行任意命令。

关于java - Java中的命令注入(inject)漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44388293/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com