【发布时间】:2014-10-23 20:24:20
【问题描述】:
我的应用程序正在使用Process.Start 打开另一个应用程序以运行。 VeraCode [安全软件扫描工具]将此命令报告为OS Command Injection Vulnerable。我想得到一些评论。我在网上找到了很多关于过滤输入或限制程序名称的信息;但是,我很想知道是否还有其他使用 Process.Start 的替代方法?
编辑: 感谢您的评论,这是示例之一,是的,它正在从用户那里获得输入:
public static void Run(string fileName, string arguments, bool waitForExit)
{
Process p = Process.Start(fileName, arguments);
if (waitForExit)
p.WaitForExit();
}
谢谢!
【问题讨论】:
-
你能澄清问题是什么或者你的程序是如何调用 Process.Start 的吗?
-
您是否将用户输入传递给 Process.Start?
-
“据报道”。什么是报告?
-
我假设(并希望)这只是报告,因为这些参数中的任何一个都可以通过用户输入进行操作。您应该检查此方法的调用以及参数是否以及如何受到用户输入的影响。
-
我了解该漏洞,但我想知道我应该明确过滤哪些输入以将风险降至最低?
标签: c# .net code-injection process.start veracode