PWN
前言
信安出征,寸草不生。
世界万物皆可pwn,除非你内力不够深厚,pwn不是你成为武林高手的唯一路径,但绝对是你闯荡江湖的武林秘籍。
ctf pwn只是一个起点,希望对pwn 感兴趣的童鞋不要只局限于pwn,因为你学习pwn的时候,也许你觉得这是玄学,建议积极的探索未知的领域,找到那些可以让你感兴趣的地方,否则,你永远达不到pwn万物的高度,应该要记住,我们的征途是星辰大海。
仰望星空,脚踏实地,狭义的pwn是指挖掘二进制程序的漏洞,编写漏洞利用脚本破解程序,拿到主机的权限。需要了解二进制程序的特性和一般漏洞知识,这不需要你有多么高的智商,但需要专业的技能和知识,最主要的是要学会如何分析程序,这就需要有足够的准备。
前置知识
- c语言
- 汇编语言
- python
- 操作系统基本知识
- 编译原理
- linux 基本命令操作
- 一颗耐心
- 一个正常水平的脑袋
环境安装
lDA pro,VM,Ubuntu虚拟机(ubuntu16,ubuntu18,ubuntu20),pwntools,pwndbg,onegadget,ROPgadget
以下工具入门阶段可以略过:
出题用的:docker
windows下的pwn还需要:ollydbg,windbg
arm和mips架构还需要:qemu,gdb-multiarch
学习路径
x86架构:栈溢出系列–格式化字符串漏洞系列–整数溢出
进阶1:堆漏洞系列
进阶2:arm,mips,iot,内核,安卓
好好写博客,纪录学习日志。
学习资料
ctf-wiki:https://ctf-wiki.org/pwn/readme/
pwn 栈入门系列:https://zhuanlan.zhihu.com/p/25816426#
pwn 堆入门系列:https://xz.aliyun.com/t/6087
i春秋课程:[CTF PWN选手的养成] ,在下早前已购买了该课程,感觉学得有点意思了的确实需要的同学私聊我要账号。