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,下节再见。