我正在尝试验证应用程序的安全性。场景是这样的:
AC# WinForms 应用程序由有限的用户通过终端服务(没有桌面,只有应用程序)运行。这个 C# 应用程序可以做的一件事是执行一个批处理文件,该文件以提升的权限运行一个冗长的进程。恐怕受限用户可能会中断批处理脚本(vua Ctrl+C 或其他方法)并获得对底层提升外壳的访问权限。
我自己尝试使用 Ctrl+C 和 Ctrl+Break 等的各种组合来执行此操作。我能得到的只是“终止批处理作业?(Y/N)”提示,如果您选择终止,则立即进行控制返回到 C# 应用程序(这很好)。我还没有找到解决这个问题的方法,但这对我来说似乎很危险。
有谁知道打破 C# 实例化批处理脚本并在不返回 C# 应用程序的情况下访问底层 shell 的方法?