|
板凳

樓主 |
發(fā)表于 2007-12-5 00:13:19
|
只看該作者
千萬不要小瞧Administrators權(quán)限,有時(shí)可能會(huì)出麻煩。感興趣的自己做個(gè)試驗(yàn),看下面的圖
1.jpg (37.47 KB, 下載次數(shù): 32)
下載附件
保存到相冊
2007-12-5 00:13 上傳
已經(jīng)把該文件夾的權(quán)限設(shè)為不允許任何人訪問,可fastcopy依然可以輕松把這個(gè)文件夾刪除掉。它是怎么繞過NTFS權(quán)限實(shí)現(xiàn)刪除的?
第二次實(shí)驗(yàn):把所有權(quán)限都設(shè)為拒絕,fastcopy依舊可以刪除數(shù)據(jù)。
這里,關(guān)鍵在于權(quán)限?。?!fastcopy軟件具有提升自身權(quán)限的代碼,fastcopy.cpp 25行開始:
-
- BOOL SetPrivilege(LPTSTR pszPrivilege, BOOL bEnable)
- {
- HANDLE hToken;
- TOKEN_PRIVILEGES tp;
- if (!::OpenProcessToken(::GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
- return FALSE;
- if (!::LookupPrivilegeValue(NULL, pszPrivilege, &tp.Privileges[0].Luid))
- return FALSE;
- tp.PrivilegeCount = 1;
- if (bEnable)
- tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
- else
- tp.Privileges[0].Attributes = 0;
- if (!::AdjustTokenPrivileges(hToken, FALSE, &tp, 0, (PTOKEN_PRIVILEGES)NULL, 0))
- return FALSE;
- if (!::CloseHandle(hToken))
- return FALSE;
- return TRUE;
- }
復(fù)制代碼
而要想提升自身權(quán)限,條件必須是Administrators組用戶即管理員組,當(dāng)然,SYSTEM組權(quán)限更高。如果在User組,F(xiàn)astcopy則不能提升權(quán)限。 |
|