總結(jié)記錄一下pwn入門的一些學(xué)習(xí)資料
pwn入門學(xué)習(xí)的網(wǎng)站:
CTF Wiki
必備技能:
匯編語言
要搞pwn首先要懂匯編吧击蹲,畢竟是搞二進制的
建議看王爽寫的那本匯編語言钉答,將書本的實驗做一遍凯楔,然后再了解一下AT&T和intel兩種匯編代碼風(fēng)格有什么不同
可以看下這篇博客intel匯編 和 AT&T匯編 的區(qū)別編程語言(C語言和python)
C語言這門語言必須要會吧禀横,題目大部分是用C語言寫的毫痕,而且很多那些知識都要讀libc的源代碼,不懂C于颖,讀libc源碼時就會很痛苦呆贿,雖然懂也會很痛苦
要會python吧,畢竟exp用python寫的森渐,CTF中pwn主要是用pwntools這個python庫來寫利用腳本,要熟悉這個庫
學(xué)習(xí)python的話上菜鳥教程學(xué)吧
pwntools庫的話看下面
這個庫的document pwntools document
還有常見的用法 pwntools 的常見用法
3.計算機組成與原理
玩pwn做入,入門是棧溢出,要玩棧溢出章母,棧的構(gòu)造要了解吧,函數(shù)的調(diào)用約定要了解吧翩剪,函數(shù)參數(shù)的在棧上的分布要知道吧乳怎,然后balbala很多知識點要刷,建議讀下《深入理解計算機系統(tǒng)》這本書 還有(《程序員的自我修養(yǎng)》這個選讀)
下面舉下經(jīng)常用到的知識
函數(shù)調(diào)用棧:
C語言函數(shù)調(diào)用棧(一)
C語言函數(shù)調(diào)用棧(二)
elf的文件結(jié)構(gòu):了解下就好了
看程序員的自我修養(yǎng)
PLT和GOT:
Linux中的GOT和PLT到底是個啥前弯?
系統(tǒng)的防護機制了解一波:
系統(tǒng)防護機制
- IDA 和gdb的常見工具的操作
- linux的常見操作
pwn入門視頻
可以關(guān)注一下B棧上的一個up主 (君莫笑hhhhhhhh)
下面是他的一些視頻
- 環(huán)境搭建 #環(huán)境的搭建 建議初學(xué)者用peda peda的安裝我另一篇博客有講
- 逆向基礎(chǔ)速成
- pwn入門系列-1-pwn基礎(chǔ)知識
- pwn入門系列-2-一個簡單的例子
可以看下國外的 liveOverflow系列的教程
[LiveOverflow]-binary hacking
臺灣 Angelboy的教學(xué)視頻 強烈推薦
視頻地址
pwn入門博客
- 手把手教你棧溢出從入門到放棄(上)
- 手把手教你棧溢出從入門到放棄(下)
- 一步一步學(xué)ROP之linux_x86篇 – 蒸米
- 一步一步學(xué)ROP之linux_x64篇 – 蒸米
- 一步一步學(xué)ROP之gadgets和2free篇 – 蒸米
刷題的網(wǎng)站
浙大的jarvisoj平臺
國外的pwnable.kr
臺灣的pwnable.tw
i春秋平臺上的題目
還有一個國外的Scoreboard 不過需要科學(xué)上網(wǎng)
先大概寫這么多吧蚪缀,以后再補充