20181317緩衝區溢位漏洞實驗

2022-08-23 01:45:14 字數 1542 閱讀 5667

20181317都家林緩衝區溢位實驗

緩衝區溢位原理

• 緩衝區溢位是指程式試圖向緩衝區寫入超出預分配固定長度資料的情況。這一漏洞可以被惡意使用者利用來改變程式的流控制,甚至執行**的任意片段。這一漏洞的出現是由於資料緩衝器和返回位址的暫時關閉,溢位會引起返回位址被重寫。

實驗內容

實驗樓提供的是 64 位 ubuntu linux,而本次實驗為了方便觀察彙編語句,我們需要在 32 位環境下作操作,因此實驗之前需要做一些準備。輸入命令安裝一些用於編譯 32 位 c 程式的軟體包:

2.首先利用sudo sysctl -w kernel.randomize_va_space=0指令關閉位址空間的初始化,利用rm sh和 ln -s zsh sh讓zsh代替bash,進入linux32系統。在/tmp目錄下新建乙個stack.c檔案,輸入**,並編譯。

3.在/tmp目錄下新建乙個exploit.c檔案,輸入攻擊程式,並用gdb除錯,esp 中就是 str 的起始位址,我們在位址0x080484ee處設定斷點,

最後獲得的這個

0xffffcfb0

就是 str 的位址。根據語句strcpy(buffer + 100,shellcode);我們計算shellcode的位址為0xffffcfb0+0x64=0xffffd014

源**:                                            修改後**:                                 

4.再次編譯exploit.c,並執行攻擊程式exploit和漏洞程式stack,檢視自己的許可權為root許可權。

緩衝區溢位漏洞簡介

緩衝區溢位是一種高階的攻擊手段,通過對緩衝區寫超長度內容從而造成溢位。破壞程式堆疊使程式執行其他命令,從而達到製造root許可權的目的,不過只有將溢位送到能夠以root許可權執行命令的區域才能見效果,哈哈哈.緩衝區利用程式將能執行的指令放在了能執行root許可權的記憶體中,從而一旦執行這些指令,我們...

緩衝區溢位漏洞實驗

根據實驗指導輸入命令安裝一些用於編譯 32 位 c 程式的軟體包 關閉位址空間隨機化功能 設定 zsh 程式 輸入命令 linux32 進入32位linux環境 在 tmp 目錄下新建乙個 stack.c 檔案,編輯 編譯該程式,並設定 set uid 在 tmp 目錄下新建乙個 exploit.c...

20155216 緩衝區溢位漏洞實驗

緩衝區溢位是指程式試圖向緩衝區寫入超出預分配固定長度資料的情況。這一漏洞可以被惡意使用者利用來改變程式的流控制,甚至執行 的任意片段。這一漏洞的出現是由於資料緩衝器和返回位址的暫時關閉,溢位會引起返回位址被重寫。關閉位址空間隨機化隨機堆 heap 和棧 stack 的初始位址的功能。1 輸入命令安裝...