【问题标题】:How to run ftp-deployed exe as admin from web request?如何从网络请求以管理员身份运行 ftp 部署的 exe?
【发布时间】:2017-05-10 01:30:27
【问题描述】:

目标: 我定期通过 FTP 将新的 .exe 文件上传到 Windows Server 2003,我想通过点击同一服务器上网站的 Url 手动运行它。 exe 需要在管理员帐户下运行,而不是NETWORK SERVICE 帐户。

我目前取得的成就: 我已经能够通过 Web 请求在服务器上的 Admin 帐户下成功运行诸如记事本之类的应用程序,方法是使用以下任何一种:

问题:
上述方法运行我的 exe,但任务管理器或对 System.Security.Principal.WindowsIdentity.GetCurrent().Name 的调用显示它在 NETWORK SERVICE 下运行。

我怀疑这个文件添加了安全限制,因为它来自 ftp 链接。在文件属性中检查 run-as-administrator 不是一个选项,因为文件将被定期替换并且所有内容都需要自动化。此外,手动服务器配置应该是最少的或理想情况下不存在。纯代码单网页解决方案是理想的。编辑该 asp.net 网页和 exe 都可以。 (我尝试了一些 exe 自重启)。

【问题讨论】:

    标签: c# security ftp impersonation runas


    【解决方案1】:

    对此不确定,但我怀疑这与您在NETWORK SERVICE 用户下运行的网站有关。无论您的网站用户拥有什么特权,当您尝试运行可执行文件时,可能会授予/传递相同的特权。

    此服务器是在内部网络上还是以其他方式受到保护? (我应该希望如此!)。如果是这样,您可以尝试将运行该网站的 App Pool 更改为管理员帐户(在 IIS 中,右键单击运行该站点的 App Pool,选择 Advanced Settings,然后查找 Identity 设置) .如果我是对的,那也将允许您以管理员身份运行您的可执行文件。

    但是请注意,这可能会增加您的设置的安全风险: 允许您的网站在管理员帐户下运行意味着如果有人能够渗透任何安全措施,则可以更轻松地访问您的整个服务器你已经到位。确保对该服务器的访问受到严格限制,并且最好确保它反过来无法访问其他系统,因为这反过来又会使它们通过扩展变得容易受到攻击。

    【讨论】:

    • 我的想法是能够将单个 Web/触发页面包含到任何站点中。如果没有人想出其他解决方案,我将采用这种方法,我为此触发页面有单独的站点和应用程序池。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-12-18
    • 2012-10-14
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多