pwn学习(一)

实战前的准备

pwn在ctf中算是一个门槛较高的分支,并且这方面的资料也相对较少,因此学习pwn的人也是相对较少的。我本人呢,是一个菜鸟,本科不是计算机系的,学习这个彻底是出于兴趣。写这些东西,一来是记录本身的学习情况,二来呢,就是但愿给正准备踏上pwn这条路的朋友们,提供一点思路。python


废话很少说,开始进入正题:

1. 学习pwn所须要的基础知识:

  • c语言
  • 汇编语言
  • python
  • 操做系统的一些知识
  • linux操做基础

关于这几方面的学习呢,我根据本身的经历,提几点建议:若是你是从0开始学的,我建议你先开始学习c,学习的话,能够去网易云课堂看视频,等你有了一点基础了,就能够去看一些书了。学完c后,其余的编程语言,你会很是好理解,学习的固然就很快了。linux

中期学习,我推荐几本很是不错的书籍:git

c语言:C Primer Plus(第五版)中文版
百度网盘:连接: https://pan.baidu.com/s/1sk8y... 密码:eycf

汇编语言:《汇编语言(第3版) 》王爽著
百度网盘:连接:https://pan.baidu.com/s/1sSEU... 密码:kcvigithub

Python:Python学习手册(第4版) 中文版
百度网盘:连接:https://pan.baidu.com/s/1f_tq... 密码:7kvo编程

操做系统:深刻理解计算机系统
百度网盘:连接:https://pan.baidu.com/s/1k8tO... 密码:7jf6ubuntu

linux:鸟哥的Linux私房菜 基础学习篇(第三版)
百度云:连接:https://pan.baidu.com/s/1-rDy... 密码:8d2ssass

知识不少,你也不可能每本书都掌握,对语言的语法和计算机的架构有个大体的掌握就行,固然,在c学习到中期的时候,你能够选择几本书并行学习,根据你本身的能力来。安全

2.工具

因为pwn主要是针对Linux系统来讲的,因此有一个Linux系统是必须的。
我用的是ubuntu18.04虚拟机。架构

ubuntu18.04 iso镜像
百度网盘:连接: https://pan.baidu.com/s/14aIy... 密码:vqo7

Vmware虚拟机能够去官网下载,安装秘钥百度就行,网上多得是。编程语言

快速的exp开发工具:

pwntools

直接用pip安装便可:

sudo pip install pwntools

peda GDB的一款很实用的插件:

git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit

ida Pro,强大的反汇编工具

下载地址:https://tools.pediy.com/win/Disassemblers/ida/ida6.1/ida61.rar

论坛

看雪论坛 bbs.pediy.com
学破解论坛: www.xuepojie.com

结语


上面的是学习pwn的所需知识,和一些帮助咱们学习成长的很是好的技术论坛和工具,固然,学的这些知识不是只用在pwn上面,毕竟pwn只是解题,不是真正的实战。这些知识是咱们成为一个大黑阔或者是一个软件安全工程师所必须练就的内功。

勿以浮沙筑高台


我是dmzlingyin,下节再见。

相关文章
相关标签/搜索