OS Command Injection是否适用于winform应用程序?
这是主要的安全威胁吗?
如果是,那么保护应用程序的最佳可行解决方案是什么?
任何上述链接将不胜感激.
这是示例代码
public static void RunNewInstance(ref string pstrUserRole) { Assembly asm = Assembly.GetExecutingAssembly(); string lstrExeName = asm.ManifestModule.Name; Process proc = new Process(); string lstrCurrentDirectory = Environment.CurrentDirectory; proc.StartInfo.FileName = lstrCurrentDirectory + "\\" + strExeName; proc.StartInfo.Arguments = pstrUserRole; proc.Start(); }
最佳答案 如果你的winforms应用程序允许用户输入执行他们原本无法执行的任意系统命令,那么它是易受攻击的.解决方案是不允许它.而不是运行shell命令,而是明确允许用户执行的操作.不要让用户做任意的事情.
这是一个超级通用的答案,但您没有提供有关您的应用的具体信息,因此无法知道最适合您的决定.
我的猜测是,因为这是一个winforms应用程序,该应用程序可能具有与交互式用户相同的权限.在这种情况下,只需打开命令提示符,您的应用程序就无法执行任何操作.
也许你应该提供有关你的应用程序的更多细节,以及为什么你害怕这个特殊的漏洞.