4

操作系统命令注入是否适用于 winform 应用程序?

它是主要的安全威胁吗?

如果是,那么保护应用程序免受其侵害的最佳可行解决方案是什么?

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

这是示例代码

公共静态无效 RunNewInstance(参考字符串 pstrUserRole)
        {
            组装 asm = Assembly.GetExecutingAssembly();
            字符串 lstrExeName = asm.ManifestModule.Name;
            进程 proc = new Process();
            字符串 lstrCurrentDirectory = Environment.CurrentDirectory;
            proc.StartInfo.FileName = lstrCurrentDirectory + "\\" + strExeName;

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

1 回答 1

2

如果您的 winforms 应用程序允许用户输入执行他们无法执行的任意系统命令,那么是的,它很容易受到攻击。解决方案是不允许它。与其运行 shell 命令,不如明确说明允许用户做什么。不要让用户做任意的事情。

这是一个超级笼统的答案,但是您没有提供有关您的应用程序的具体信息,因此无法知道最适合您的决定是什么。

不过我的猜测是,因为这是一个 winforms 应用程序,所以该应用程序可能具有与交互式用户相同的权限。在这种情况下,您的应用程序没有任何事情可以通过打开命令提示符来完成。

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

于 2013-02-19T12:40:39.567 回答