NX,Canary,RELRO,PIE,Linux的4种保护机制讲解
生活随笔
收集整理的這篇文章主要介紹了
NX,Canary,RELRO,PIE,Linux的4种保护机制讲解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? NX(DEP):數據執行防護
? Canary(FS):棧溢出保護
? RELRO(ASLR):(地址隨機化)
? PIE(代碼地址隨機化)
NX:
棧上的數據沒有執行權限
防止攻擊手段:棧溢出 + 跳到棧上執行shellcode
CANARY:
在函數開始時就隨機產生一個值,將這個值CANARY
放到棧上緊挨ebp的上一個位置,當攻擊者想通過緩沖
區溢出覆蓋ebp或者ebp下方的返回地址時,一定會覆
蓋掉CANARY的值;當程序結束時,程序會檢查
CANARY這個值和之前的是否一致,如果不一致,則
不會往下運行,從而避免了緩沖區溢出攻擊。
防止攻擊手段:所有單純的棧溢出
ASLR:
堆棧地址隨機化
防止攻擊手段:所有需要用到堆棧精確地址的攻擊,要想成功,
必須用提前泄露地址
PIE:
代碼部分地址無關
防止攻擊手段:構造ROP鏈攻擊
總結
以上是生活随笔為你收集整理的NX,Canary,RELRO,PIE,Linux的4种保护机制讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pwntools语句的简单使用,包含例子
- 下一篇: 解决fatal: 不是一个 git 仓库