當前位置:
首頁 > 最新 > linux緩衝區溢出漏洞簡介

linux緩衝區溢出漏洞簡介

實驗過程:

1:安裝32位編譯工具 lib32z1 libc6-dev-i386,關閉地址空間隨機化

2:安裝編譯器zsh並替換sh指向的/bin/bash(因為sh具有保護欺騙性uid程序在整個運行中不保持root許可權)

3:shellcode(彙編碼位元組填充,一共64位元組)

4:su許可權編譯stack.c

Fopen(「badfile」,r)badfile必須存在,也就是我們先運行exploit.c生成可執行文件exploit,運行就會生成badfile

gdb調試可執行文件stack

Gdbstack

Disassmain

得到彙編代碼:

5:分析得出:offset到分別進行了16位對齊操作,並且初始化esp,ebp,在棧空間接著sub指令使esp-214,也即棧向下增長分配了214*4的位元組空間,存放517位str數組,可知str

的地址在

6:設置斷點break,print出$esp地址並編譯exploit.c:

7:首先運行exploit,生成badfile二進位文件

再運行stack.c漏洞程序去讀取badfile,由於badfile在在填充字元時加入了str的起始地址

所以讀取這段指令只要把badfile中添加str的地址進行ret覆蓋即可,所以將0x080484e8加上64得到0xffffcf14,進行反向覆蓋,這裡的原因是在棧中分配數組str時,大於str的esp的空間都已經使用,而位元組填充數組的方向和棧增長的放向是相反的,所以應該以14cfffff填充buffer尾端位元組

以上操作運行完畢

--- --- --- --- --- --- --- -- ---- -------- ----

溢出操作:

如果配置沒有做好就不能夠獲得root許可權,因為linux「百毒不侵」的原因便是棧地址隨機化,其次/bin/bash下編譯器sh的保護機制,在程序運行前已經多次遇阻,無法獲得root許可權或者提示:棧溢出,核心已轉儲!

配置成功就是root!

你可能喜歡


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 黑白之道 的精彩文章:

華盟網:2017年度十大安全熱點回顧
女演員米凱拉iCloud帳戶遭黑客入侵

TAG:黑白之道 |