在权限较低的帐户下运行的应用程序是否可以启动在管理帐户下执行另一个应用程序的进程?

时间:2011-03-09 03:59:08

标签: c# asp.net iis security user-accounts

我在服务器上安装名为pdflatex.exe的应用程序时以管理员身份登录。此应用程序用作从LaTeX输入文件到Pdf文件的转换器。

我托管了一个在Load User Profile = True的应用程序池标识下运行的Asp.net MVC 3应用程序。

Asp.net MVC 3代码包含使用pdflatex.exe实例执行System.Diagnostic.Process的代码,如下所示:

        Process p = new Process();

        p.EnableRaisingEvents = true;
        p.Exited += new EventHandler(p_Exited);

        p.StartInfo.Arguments = "-interaction=nonstopmode " + inputpath;
        p.StartInfo.WorkingDirectory = @"c:\mydomain.com\working";

        p.StartInfo.UseShellExecute = false;
        p.StartInfo.FileName = "pdflatex.exe";

        p.Start();
        p.WaitForExit();

从上面的场景中,

  • Web应用程序在受限制的帐户下运行但执行
  • 我不知道的默认帐户下的外部应用程序。

在权限较低的帐户下运行的应用程序是否可以启动在管理帐户下执行另一个应用程序的进程?

2 个答案:

答案 0 :(得分:1)

为什么您需要管理员权限才能运行pdflatex?这是一个标准的用户程序,除了从可以写入的目录运行之外,不需要任何特殊权限。

答案 1 :(得分:1)

不,如果没有正确请求UAC提升(提示输入管理用户名和密码),较低权限的应用程序无法启动提升的应用程序。如果您可以从较低访问权限的应用程序中提升衍生的应用程序,那将是一个主要的安全漏洞。