【问题标题】:is it possible to use LogonUser API without password?是否可以在没有密码的情况下使用 LogonUser API?
【发布时间】:2016-04-10 07:17:19
【问题描述】:

我正在开发一个 c++ 应用程序,该应用程序作为 Windows 服务运行。 我需要模拟当前用户来访问网络位置,为此我使用 Windows API LogonUserImpersonateLoggedOnUser

问题是我只有用户名和域信息,但没有密码。那么是否可以在不提供密码的情况下调用LogonUser来获取用户句柄?

【问题讨论】:

  • Windows 服务的当前用户是什么? Windows 服务在其自己的用户帐户下运行,该帐户独立于交互式用户。 (评论是因为你显然有一个真实的用户名)
  • 服务以系统用户身份运行,如果我尝试获取用户名,它将显示system 作为用户。
  • 这确实是服务的普通账户。 SYSTEM 在设计上无法访问受保护的网络资源。
  • @MSalters:您正在考虑本地服务。 SYSTEM 帐户可以使用计算机的域帐户访问网络。 (但显然,只有当它加入域时。)

标签: c++ windows impersonation


【解决方案1】:

不,那将是一个相当明显的安全漏洞。

但是,您可以在当前用户的 UI 进程和您的服务之间使用命名管道。然后,您的服务可以模拟命名管道的另一端。这是安全的,因为您可以控制管道的两端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多