我遇到一个问题,即用户X(非管理员用户)运行提升的程序,在获取和查询与当前进程关联的token时检索到错误的SID信息。我在这里的主要限制是我必须使用winXP兼容代码,所以WSTx函数是不可能的。我尝试过的方法:我尝试从交互式桌面/主窗口站中提取SID,但结果很奇怪。扩展环境变量:%USERPROFILE%使用了GetUserName()最后2个实际上检索到提升的用户。我的代码:HANDLEhTok=NULL;if(false==OpenProcessToken(/*hProcess*/GetCurrentProcess(),TOKEN_QUERY,&hTok)){LOG_ERROR
我正在尝试创建一个基本上充当本地网络服务器的服务。理论上,用户将通过浏览器中的本地主机访问URI来使用RESTAPI,即http://localhost:2017/path/to/function/call将连接到服务并执行功能。我的问题是如何获取调用该服务的帐户的SID和用户名?我已经实现了几个解决方案,但它们返回服务的SID和用户名,而不是使用它的用户。OJSon*UnifiedStreamingService::getUserDetails(){OJSon*result=OJSon::create();if(result){/*HANDLEhToken=NULL;ULONGid=
我正在尝试使用ConvertSidToStringSid将SID转换为字符串并再次转换回来和ConvertStringSidToSid,但返回的转换失败,错误代码为1337。我创建的测试SID无法进行往返——它导致ConvertStringSidToSid失败,代码为1337(ERROR_INVALID_SID)。看起来Windows在字符串表示中使用十六进制而不是十进制表示具有太多字节的标识符权限,并且ConvertStringSidToSid阻塞。上面链接的ConvertStringSidToSid文档说“您可以使用此函数来检索ConvertSidToStringSid函数转换为字
我想从sessionID值中获取用户名或SID,如何使用WinAPI在WindowXP中执行此操作? 最佳答案 您可以使用WTSQuerySessionInformationfunction从WTS_INFO_CLASS获取用户名和域(WTSUserName和WTSDomainName)。此功能早在Windows2000就可用。 关于c++-如何从Windows中的sessionID获取用户名/SID?,我们在StackOverflow上找到一个类似的问题:
如果我有一个Windows帐户SID列表(字符串如“S-1-5-21-16217043-3088031003-1644254475-1001”),我如何从中获取Windows用户帐户的名称(如“JohnDoe")使用C++和WinAPI? 最佳答案 查看这些WINAPI函数:ConvertStringSidToSid(),将帐户SID字符串转换为SID这是必需的论据,LookupAccountSid() 关于c++-使用C++从SID获取本地Windows用户名,我们在StackOver
我正在尝试编写一个备份和恢复工具。我在WinPECD(http://en.wikipedia.org/wiki/Windows_Preinstallation_Environment)上运行我的代码。我正在尝试读取整个C:分区并将其写入网络。就像tar命令一样,但特定于Windows。除了设置文件所有者外,我一切正常。Windows似乎真的不能容忍未知SID拥有的文件。由于我在WinPE中运行,因此在C:上定义的大多数用户都不在本地用户数据库中。以下是我尝试过的一些功能:SetFileSecurity(返回1307)SetSecurityInfo(返回1307)SetNamedSecu
先决条件详细信息使用.NET2.0。代码位于一个公共(public)库中,可以从ASP.Net、Windows窗体或控制台应用程序中调用。在企业网络的Windows域中运行。问题获取当前用户SID的最佳方法是什么?我不是在谈论正在执行应用程序的身份,而是正在访问界面的用户。在后台应用程序和基于桌面的应用程序中,这应该是实际执行应用程序的身份,但在ASP.Net(没有模拟)中,这应该是HttpContext.Current.UserSID。当前方法这就是我现在所拥有的。只是好像……错了。这很讨厌。是否有更好的方法来执行此操作,或者是否有一些内置类可以为您执行此操作?publicstati
关于this它说的页面Thehtmlspecialchars()maybeusedwhenprintingtheSIDinordertopreventXSSrelatedattacks.如果不使用htmlspecialchars()打印SID,有人可能会发起什么攻击?sessionID只能包含数字和字母。我错过了什么吗? 最佳答案 sessionID通常存储在客户端(例如,在cookie或GET参数中),因此它可以被更改-通过一些脚本甚至通过更改URL。现在想象有人能够更改cookie并将SID更改为一些JS代码将您重定向到其他地方
我不知道如何在AD中获取用户唯一标识符(SID)。代码片段:...$filter="(&(samaccountname=".$this->username.")(memberOf:1.2.840.113556.1.4.1941:=CN=GROUP_NAME,OU=Security,DC=something,DC=something))";$attribute=array("cn","objectsid","description","group","member","samaccountname");$sr=ldap_search($this->conn_ldap,$this->lda
当我第一次运行这段代码时,我得到一些类似的东西:PHPSESSID=9o2bhrqmln2j52caspdhholhk7但是当我刷新时我得到一个空白页直到我删除PHPSESSIONcookie并开始一个新的……这是正常的还是我有问题? 最佳答案 Themanual说:Alternatively,youcanusetheconstantSIDwhichisdefinedifthesessionstarted.Iftheclientdidnotsendanappropriatesessioncookie,ithastheformsess