windows令牌學習

2021-10-22 16:20:38 字數 1013 閱讀 1679

訪問令牌

訪問令牌(access tokens)是windows作業系統安全性的乙個概念。

當使用者登陸時,系統建立乙個訪問令牌,裡面包含登入程序返回的sid和由本地安全策略分配給使用者和使用者的安全組的特權列表。

系統使用令牌控制使用者可以訪問哪些安全物件,並控制使用者執行相關系統操作的能力。

有兩種令牌:主令牌和模擬令牌。

主令牌是由windows核心建立並分配給程序的預設訪問令牌,每乙個程序有乙個主令牌,它描述了與當前程序相關的使用者帳戶的安全上下文。

如果用sysinternal工具logonsessions檢視的話,這兩個令牌屬於不同的logon session。

openprocesstoken

函式用來開啟與程序相關聯的訪問令牌;

要對乙個任意程序(包括系統安全程序和服務程序)進行指定了寫相關的訪問權的openprocess操作,只要當前程序具有sededebug許可權就可以了。要是乙個使用者是administrator或是被給予了相應的許可權,就可以具有該許可權。可是,就算我們用administrator帳號對乙個系統安全程序執行openprocess(process_all_access,false, dwprocessid)還是會遇到「訪問拒絕」的錯誤。什麼原因呢?原來在預設的情況下程序的一些訪問許可權是沒有被啟用(enabled)的,所以我們要做的首先是啟用這些許可權。與此相關的一些api函式有openprocesstoken、lookupprivilegevalue、adjusttokenprivileges。我們要修改乙個程序的訪問令牌,首先要獲得程序訪問令牌的控制代碼,這可以通過openprocesstoken得到,函式的原型如下:

bool openprocesstoken(

__in handle processhandle, //要修改訪問許可權的程序控制代碼

__in dword desiredaccess, //指定你要進行的操作型別

__out phandle tokenhandle //返回的訪問令牌指標

);

Windows令牌竊取提權

令牌 token 是系統的臨時秘鑰,相當於賬號和密碼,用來決定是否允許這次請求和判斷這次請求是屬於哪乙個使用者的。它允許你在不提供密碼或其他憑證的前提下,訪問網路和系統資源,這些令牌將持續存在於系統中,除非系統重新啟動。令牌最大的特點就是隨機性,不可 黑客或軟體無法猜測出令牌。假冒令牌可以假冒乙個網...

PHP Token 令牌 設計

設計目標 避免重複提交資料.檢查來路,是否是外部提交 匹配要執行的動作 如果有多個邏輯在同乙個頁面實現,比如新增,刪除,修改放到乙個php檔案裡操作 這裡所說的token是在頁面顯示的時候,寫到form的乙個隱藏表單項 type hidden token不可明文,如果是明文,那就太危險了,所以要採用...

ThinkPHP表單令牌

如果不設定表單令牌,很容易導致csrf 跨站請求偽造 跨站提交表單。表單令牌是一種非常實用的技術,它在表單的檢視部分生成隨機令牌,預設為隨機的md5串,存在hidden的input中。在表單資料提交前,將提交的資料與session中存放的令牌進行比對,從而判斷是否是跨站提交。thinkphp中開啟表...