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

发布于 2024-10-20 17:25:44 字数 861 浏览 5 评论 0原文

当我在服务器上安装名为 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 应用程序在受限帐户,但它
  • 在我不知道的默认帐户下执行外部应用程序。

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

I am logged in as the administrator when I installed an application named pdflatex.exe on my server. This application works as a converter from LaTeX input file to Pdf file.

I host an Asp.net MVC 3 application running under an Application Pool Identity with Load User Profile = True.

The Asp.net MVC 3 code contains a code that executes pdflatex.exe using System.Diagnostic.Process instance as follows:

        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();

From the scenario above,

  • the web application runs under a restricted acount but it executes
  • an external application under a default account that I don't know.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雪若未夕 2024-10-27 17:25:44

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

No, a lower privilege application cannot start an elevated application without properly asking for UAC elevation (which prompts for an administrative username and password). If you could elevate a spawned app from a lower-access app, it would be a major security gap.

风吹雪碎 2024-10-27 17:25:44

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

Why do you need administrator access to run pdflatex? That is a standard user program and shouldn't require any special privileges other than to be run from a directory that it can write to.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文