我正在尝试验证应用程序的安全性。场景是这样的:
C#WinForms应用程序由有限的用户通过终端服务运行(没有桌面,只有该应用程序)。此C#应用程序可以做的一件事是执行一个批处理文件,该文件以较高的特权运行一个漫长的过程。恐怕受限的用户可能会中断批处理脚本(通过Ctrl + C或其他方法)并获得对底层高级Shell的访问权限。

我尝试使用Ctrl + C和Ctrl + Break等各种组合来自己执行此操作。我所能得到的只是“终止批处理作业(Y / N)”提示,如果选择终止,则可以立即进行控制返回到C#应用程序(很好)。我还没有找到解决这个问题的方法,但是对我来说似乎很危险。

有谁知道一种打破C#实例化批处理脚本并访问底层Shell而无需返回C#应用程序的方法吗?

最佳答案

不,不要以为有一个。但是,如果您真的很担心,为什么不将您通常使用的CreateNoWindow对象的ProcessStartInfo属性设置为true以完全阻止用户交互?

09-10 06:53
查看更多