pwn在ctf中算是一個門檻較高的分支,並且這方面的資料也相對較少,因此學習pwn的人也是相對較少的。我本人呢,是一個菜鳥,本科不是計算機系的,學習這個徹底是出於興趣。寫這些東西,一來是記錄本身的學習情況,二來呢,就是但願給正準備踏上pwn這條路的朋友們,提供一點思路。python
關於這幾方面的學習呢,我根據本身的經歷,提幾點建議:若是你是從0開始學的,我建議你先開始學習c,學習的話,能夠去網易雲課堂看視頻,等你有了一點基礎了,就能夠去看一些書了。學完c後,其餘的編程語言,你會很是好理解,學習的固然就很快了。linux
中期學習,我推薦幾本很是不錯的書籍:git
c語言:C Primer Plus(第五版)中文版
百度網盤:連接: https://pan.baidu.com/s/1sk8y... 密碼:eycf彙編語言:《彙編語言(第3版) 》王爽著
百度網盤:連接:https://pan.baidu.com/s/1sSEU... 密碼:kcvigithubPython:Python學習手冊(第4版) 中文版
百度網盤:連接:https://pan.baidu.com/s/1f_tq... 密碼:7kvo編程操做系統:深刻理解計算機系統
百度網盤:連接:https://pan.baidu.com/s/1k8tO... 密碼:7jf6ubuntulinux:鳥哥的Linux私房菜 基礎學習篇(第三版)
百度雲:連接:https://pan.baidu.com/s/1-rDy... 密碼:8d2ssass
知識不少,你也不可能每本書都掌握,對語言的語法和計算機的架構有個大體的掌握就行,固然,在c學習到中期的時候,你能夠選擇幾本書並行學習,根據你本身的能力來。安全
因爲pwn主要是針對Linux系統來講的,因此有一個Linux系統是必須的。
我用的是ubuntu18.04虛擬機。架構
ubuntu18.04 iso鏡像
百度網盤:連接: https://pan.baidu.com/s/14aIy... 密碼:vqo7
Vmware虛擬機能夠去官網下載,安裝祕鑰百度就行,網上多得是。編程語言
pwntools
直接用pip安裝便可:
sudo pip install pwntools
git clone https://github.com/longld/peda.git ~/peda echo "source ~/peda/peda.py" >> ~/.gdbinit
下載地址:https://tools.pediy.com/win/Disassemblers/ida/ida6.1/ida61.rar
看雪論壇 bbs.pediy.com
學破解論壇: www.xuepojie.com
上面的是學習pwn的所需知識,和一些幫助咱們學習成長的很是好的技術論壇和工具,固然,學的這些知識不是隻用在pwn上面,畢竟pwn只是解題,不是真正的實戰。這些知識是咱們成爲一個大黑闊或者是一個軟件安全工程師所必須練就的內功。
我是dmzlingyin,下節再見。