長呼叫與短呼叫 呼叫門

2021-09-12 02:45:46 字數 1323 閱讀 9259

cs裡的是乙個段選擇子

1:拆分段選擇子,查gdt表

2:該段描述符為系統描述符,s位為0,type為1100,是乙個門描述符(dpl必須為3,不然該描述符的許可權檢查過不去)

3:該描述符的16到31位為另外乙個段描述符的選擇子 (決定是否提權),另外乙個段描述符 必須是**段 dpl決定是否提權

長呼叫時:cs查詢到的段描述符跟平常的段描述符不一樣。

1:該描述符的型別為門描述符

2:門描述符的低16到31位為另外乙個段描述符的選擇子 該描述符的dpl 必須為3

3:是否提權在於另外乙個段描述符的dpl是否為0

4:通過門後,執行的**在門描述符中的高16位與低16位組成乙個32的位址

思考ebp 沒有儲存,0環返回後是**來得。

自己構造的段描述符0040ec00`00081005

寫入 gdt表 eq 8003f048 0040ec00`00081005

經過嘗試 0009 000a `000b 也就是cpl為0 1 2 3均可以成功

0008對應的段描述符為1必須為**段才能執行成功

//讀取高位址的值

呼叫門實戰 2 呼叫門特權級轉移理論篇

假設我們想由 段a轉移到 段b,運用乙個呼叫門g,呼叫門g中的目標選擇子指向 b的段。這裡有幾個要素 cpl rpl b得dpl dpl b 呼叫門g的dpl dpl g a訪問呼叫門g是,要求cpl和rpl都小於等於dpl g。即cpl和rpl需要在更高的特權級上。除了上面一步符合要求之外,系統還...

呼叫門描述符

門描述符跟段描述符的結構不同。2.它定義了在指定 段例程的入口點 偏移 3.它指定了呼叫者嘗試去訪問例程所需要的特權級 dpl 這裡是訪問者所要具備的特權級 4.如果發生了棧切換,它指定了拷貝到新棧的可選引數的數量 5位最多32個 也就是說,在跳到r0執行相應例程的時候,特權級便了,使用的棧也會改變...

9 呼叫門(無參)

本篇,將真正的實現提權 當前特權級從 3 變為 0.當然,cpu 不會讓你就這麼簡單的從 3 環跨到 0 環。但是,cpu 又必須提供一套方法,來讓你完成這個功能。前面講過。dpl 0 的非一致 段,是絕對不允許不同特權級的程式跳轉進來。可是,我給以給你開個後門,讓你進來,然後給你最高許可權,允許你...