注入一個本身製做的shellcode並運行這段shellcodelinux
彙編中的指令:
call:使程序跳轉到某個地址並開始執行,被調用的過程位於當前代碼段內。它的機器指令是一個16位的有符號數,也就是說被調用的過程的首地址必須位於距離當前call指令-32768~+32767字節的地方。在指令執行的時候,處理器先把IP的值壓棧,而後根據操做數調整IP的值(IP=IP+操做數+3),這直接致使處理器的執行流轉移到目標位置處。
ret:近返回指令。執行的時候,處理器從棧中彈出一個字到IP中。
NOP:NOP指令即「空指令」。執行到NOP指令時,CPU什麼也不作,僅僅當作一個指令執行過去並繼續執行NOP後面的一條指令。(機器碼:90)
JNE:條件轉移指令,若是不相等則跳轉。(機器碼:75)
JE:條件轉移指令,若是相等則跳轉。(機器碼:74)
JMP:無條件轉移指令。段內直接短轉Jmp
CMP:比較指令,功能至關於減法指令,只是對操做數之間運算比較,不保存結果。cmp指令執行後,將對標誌寄存器產生影響。其餘相關指令經過識別這些被影響的標誌寄存器位來得知比較結果。
gdb中的指令:
attach:直接在gdb中把一個正在運行的進程鏈接到gdb中,以便於進行動態調試;
disassemble:命令用於反彙編,它可被用來查看當前執行時的源代碼的機器碼,其實際上只是把目前內存中的指令dump出來。
linux中的指令:
ps:用來查看進程
grep:是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。
prel: Perl是一門解釋型語言,不須要預編譯,能夠在命令行上直接使用正則表達式
用objdump -d命令反彙編。
用vim修改文件將d7改成c3後運行
shell
此次實驗整體來講比較簡單,跟着老師的實驗指導和組長的實驗博客很順利地就作完了。這是第一次接觸攻防一類的實驗,成功作完以後仍是頗有成就感的。vim
漏洞有什麼危害
這些安全缺陷會被技術高低不等的入侵者所利用,從而達到控制目標主機或形成一些更具破壞性的目的。sass