Linux下的pwn常用到的工具有:
gdb
:Linux調(diào)試中必要用到的gdb-peda
:gdb方便調(diào)試的工具眨补,類似的工具有g(shù)ef管削,gdbinit,這些工具的安裝可以參考:http://blog.csdn.net/gatieme/article/details/63254211pwntools
:寫exp和poc的利器checksec
:可以很方便的知道elf程序的安全性和程序的運(yùn)行平臺(tái)objdump
和readelf
:可以很快的知道elf程序中的關(guān)鍵信息ida pro
:強(qiáng)大的反編譯工具ROPgadget
:強(qiáng)大的rop利用工具one_gadget
:可以快速的尋找libc中的調(diào)用exec('bin/sh')的位置libc-database
: 可以通過(guò)泄露的libc的某個(gè)函數(shù)地址查出遠(yuǎn)程系統(tǒng)是用的哪個(gè)libc版本
gdb常用的調(diào)試指令:
n: 執(zhí)行一行源代碼但不進(jìn)入函數(shù)內(nèi)部
ni: 執(zhí)行一行匯編代碼但不進(jìn)入函數(shù)內(nèi)部
s: 執(zhí)行一行源代碼而且進(jìn)入函數(shù)內(nèi)部
si: 執(zhí)行一行匯編代碼而且進(jìn)入函數(shù)內(nèi)部
c: 繼續(xù)執(zhí)行到下一個(gè)斷點(diǎn)
b *地址: 下斷點(diǎn)
directory+源碼所在目錄:加載程序源碼
set follow-fork-mode parent :只調(diào)試主進(jìn)程
stack: 顯示棧信息
x : 按十六進(jìn)制格式顯示內(nèi)存數(shù)據(jù)撑螺,其中x/{字節(jié)數(shù)}x 以16進(jìn)制顯示指定地址處的數(shù)據(jù);{字節(jié)數(shù)}表示字節(jié)數(shù)制定(b 單字節(jié)含思;h 雙字節(jié);w 四字節(jié)甘晤;g 八字節(jié)含潘;默認(rèn)為四字節(jié))