·本次實踐的對象是一個名爲pwn1的linux可執行文件。linux
·該程序正常執行流程是:main調用foo函數,foo函數會簡單回顯任何用戶輸入的字符串。函數
·該程序同時包含另外一個代碼片斷,getShell,會返回一個可用Shell。正常狀況下這個代碼是不會被運行的。咱們實踐的目標就是想辦法運行這個代碼片斷。
·本次試驗將學習兩種方法
①利用foo函數的Bof漏洞,構造一個攻擊輸入字符串,覆蓋返回地址,觸發getShell函數。
②手工修改可執行文件,改變程序執行流程,直接跳轉到getShell函數。學習
·熟悉Linux基本操做,能看懂經常使用指令,如管道(|),輸入、輸出重定向(>)等。對象
·理解Bof的。blog
·能看得懂彙編、機器指令、EIP、指令地址。字符串
·會使用gdb,vi。get