緩衝區溢位實驗 實驗樓

2022-06-21 21:18:09 字數 1203 閱讀 9159

目錄跟著實驗步驟一步一步做就好

1.先開啟終端,更新軟體

3.關閉堆、棧的隨機位址

4.使用另乙個 shell 程式(zsh)代替 /bin/bash以實現root

5.輸入命令 linux32 進入32位linux環境

6.在 /tmp 目錄下新建乙個 stack.c 檔案並按照下圖編寫

7.編譯

9.進入gdb除錯

10.設定斷點,展示值

11.計算 shellcode 的位址

12.修改上文中的exploit.c 檔案,將 \x??\x??\x??\x?? 修改為計算的結果

13.編譯 exploit.c 程式,接著執行攻擊程式 exploit,再執行漏洞程式 stack

已獲得root許可權

1.開啟系統的位址空間隨機化機制,重新攻擊

2.將 /bin/sh 重新指向 /bin/bash,重新攻擊

中間的過程是錯誤操作不用看了

緩衝區溢位實驗

具體過程嚴格按照上面所描述。首先配置好環境。存漏洞程式stack.c,如圖,需對其許可權做更改,更改前後的許可權變化如圖,同樣是按照文件中的 存乙個exploit.c,先存著。使用gdb,在這裡我遇到了問題,因為在設定斷點時輸錯了位址,所以在輸入r時執行失敗,顯示無法插入斷點。解決方法 使用help...

緩衝區溢位漏洞實驗

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

linux上緩衝區溢位實驗

攻擊過程 0.關閉隨機位址空間的保護功能 編寫攻擊 code 的值為課件上的值,這個值不一定能夠使緩衝區溢位後呼叫到bug函式,因為我們不知道bug函式的 會被放在哪個位址上。在關閉gcc的棧保護功能下編譯 用gdb進行除錯,檢視main函式的彙編 找到呼叫copy後的下一指令的位置為0x08048...