20155204 王昊《網絡對抗技術》EXP1 PC平臺逆向破解

20155204 王昊《網絡對抗技術》EXP1 PC平臺逆向破解

(一)實驗內容

1、掌握NOP、JNE、JE、JMP、CMP彙編指令的機器碼

  • NOP:NOP指令即「空指令」。執行到NOP指令時,CPU什麼也不作,僅僅當作一個指令執行過去並繼續執行NOP後面的一條指令。(機器碼:90)
  • JNE:條件轉移指令,若是不相等則跳轉。(機器碼:75)
  • JE:條件轉移指令,若是相等則跳轉。(機器碼:74)
  • JMP:無條件轉移指令。段內直接短轉Jmp short(機器碼:EB)段內直接近轉移Jmp near(機器碼:E9)段內間接轉移Jmp word(機器碼:FF)段間直接(遠)轉移Jmp far(機器碼:EA)
  • CMP:比較指令,功能至關於減法指令,只是對操做數之間運算比較,不保存結果。cmp指令執行後,將對標誌寄存器產生影響。其餘相關指令經過識別這些被影響的標誌寄存器位來得知比較結果。

2、掌握反彙編與十六進制編程器

反彙編指令:objdump -d xxx
將顯示模式切換爲16進制模式:%!xxd
轉換16進製爲原格式:%!xxd -rhtml

3、正確修改機器指令改變程序執行流程

主要流程爲:反彙編-->16進制查看文件修改foo函數返回地址爲shellcode的地址,從而達成目的。
shell

4、能正確構造payload進行bof攻擊

在完成構造一個攻擊輸入字符串,覆蓋返回地址,觸發getShell函數的基礎上,
編程

要構造一個能將shellcode地址注入foo後的返回地址寄存器的字符串。爲了找到這個返回地址寄存器,須要:關閉地址隨機化-->將字符串中返回地址設爲特定數字-->在eip寄存器中找到foo後返回地址-->將字符串的返回地址改成上一步的那個地址-->完成攻擊

網絡

(二)實驗總結感悟

1、實驗參考

2、感悟

實驗感受難度適中,接觸到了漏洞與攻擊,作很簡單,理解起來花了一些功夫,可能還有點不到位。可是組長以及其餘同窗的博客給予的幫助仍是很大的,不只能解決操做問題,對比着不一樣同窗的博客也能更好的去理解實驗。函數

相關文章
相關標籤/搜索