【发布时间】:2013-02-19 12:22:29
【问题描述】:
OS Command Injection 是否适用于 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(); }【问题讨论】:
-
避免向操作系统发送任何客户端输入
-
@kenny:你能提供任何参考吗?我对此一无所知。
-
tenfour 的回答解决了这个问题。在您添加的代码上。您可能想要清除似乎是可能的用户输入 pstrUserRole。您需要确保不允许将操作系统命令添加到其中,可能使用“&”。见superuser.com/questions/62850/…