OS命令注入

操作系统命令注入工作在WinForm应用程序?

这是主要的安全威胁吗?

如果是的话,什么才是最好的可能的解决scheme,以确保申请反对呢?

上述任何链接将不胜感激。

这是示例代码

公共静态无效RunNewInstance(裁判stringpstrUserRole)
         {
            程序集asm = Assembly.GetExecutingAssembly();
            stringlstrExeName = asm.ManifestModule.Name;
             Process proc = new Process();
            stringlstrCurrentDirectory = Environment.CurrentDirectory;
             proc.StartInfo.FileName = lstrCurrentDirectory +“\\”+ strExeName;

             proc.StartInfo.Arguments = pstrUserRole;
             proc.Start();
         }

如果你的winforms应用程序允许用户输入执行任意系统命令,否则他们将无法执行,那么是的,它是脆弱的。 解决办法是不允许的。 而不是运行shell命令,明确允许用户做什么。 不要让用户做任意的东西。

这是一个超级泛化的答案,但是你没有提供关于你的应用程序的具体信息,所以没有办法知道什么是你最好的决定。

我的猜测是,因为这是一个winforms应用程序,应用程序可能会有交互式用户相同的权限。 在这种情况下,您的应用程序无法通过打开命令提示符来做到这一点。

也许你应该提供关于你的应用程序的更多细节,以及为什么你害怕这个特定的漏洞。