-
-
[原创]重读老文章系列:被遗忘的权限(1)
-
发表于:
2012-8-1 05:03
8338
-
是否有人在用FSCTL_**系列ioctrlcode时得到权限不够的错误码?还是在访问某些文件夹某些文件时遇到类似的诡异提示,还是在使用RestoreKey时遇到了错误,除了ACL/DCL之外其实还有一个重要的东西是权限。这里将陆续介绍几个被遗忘很久的权限
SE_RESTORE_NAME和SE_BACKUP_NAME,这两个权限对于文件特殊操作,注册表特殊操作,磁盘特殊操作,具有非同一般的意义。
具体怎么提升特定权限的代码如下:
BOOL EnablePrivilege( LPCTSTR lpszPrivilege)
{
HANDLE hToken;
LUID sedebugnameValue;
TOKEN_PRIVILEGES tp;
if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
{
return FALSE;
}
if (!LookupPrivilegeValue(NULL,lpszPrivilege , &sedebugnameValue))
{
CloseHandle( hToken );
return FALSE;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = sedebugnameValue;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL))
{
CloseHandle(hToken);
return FALSE;
}
CloseHandle(hToken);
return TRUE;
}
PS:
有意捐助者,请联系QQ:86879759
[课程]Android-CTF解题方法汇总!