繁体   English   中英

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

[英]Can an application running under a less privileged account start a process executing another application under an administrative account?

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

我主持一个在应用程序池标识下运行的Asp.net MVC 3应用程序,其中Load User Profile = True

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

        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应用程序在受限制的帐户下运行但它会执行
  • 我不知道的默认帐户下的外部应用程序。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM