使用令牌和特权的程序

Program using tokens and privileges

本文关键字:程序 特权 令牌      更新时间:2023-10-16

我想创建一个具有有限特权的C 程序。我在互联网上进行了一些研究,发现我必须创建一个令牌,然后使用Advistokenprivileges()方法来改变其特权。

但是,我不太了解这是如何做到的。有人可以为我提供如何创建令牌并禁用其特权的示例吗?谢谢:)

您是否在使用C 执行特权操作的情况下检查了示例?似乎您只需要弄清楚使用getTokenInformation()函数后哪些令牌,然后禁用其中一些。

[编辑]详细解释。

  • 第一个呼叫getTokenInformation()为您提供令牌priveledge信息对象的长度,字节。
  • 然后您实际上在堆上构建了该大小的缓冲区。
  • 第二个呼叫检索令牌信息对象并将其存储在您的缓冲区中。
  • 然后,您将缓冲区重新铸造到Token_privileges*,这使您可以正确解释。
  • 然后您循环浏览该对象的特权成员,并将不同的属性设置为允许。

这里有有关Token_priviledges结构的细节。对于"特权"数组的每个成员,您可以使用LookUpprivileGename查找特权的名称。

这是特权名称和描述的列表。

知道它是什么特权(即,通过检查名称),您可以将特权的属性[i]成员设置为

之一
  • se_privilege_enabled
  • se_privilege_enabled_by_default
  • se_privilege_remaved
  • se_privilege_used_for_access

在您的情况下,我侦察大部分是第三个。