目錄跟著實驗步驟一步一步做就好
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...