我正在开发一个c ++应用程序,这个应用程序作为Windows服务运行。
我需要冒充当前用户访问网络位置,为此我使用的是Windows API LogonUser
和ImpersonateLoggedOnUser
。
问题是我只有用户名和域信息,但没有密码。那么是否可以在不提供密码的情况下调用LogonUser
来获取用户句柄?
答案 0 :(得分:2)
不,这将是一个相当明显的安全漏洞。
但是,您可以在当前用户的UI流程和服务之间使用命名管道。然后,您的服务可以模拟命名管道的另一端。这是安全的,因为您可以控制管道的两端。