总结记录一下pwn入门的一些学习资料
pwn入门学习的网站:CTF Wiki
必备技能:
汇编语言
要搞pwn首先要懂汇编吧,毕竟是搞二进制的 建议看王爽写的那本汇编语言,将书本的实验做一遍,然后再了解一下AT&T和intel两种汇编代码风格有什么不同 可以看下这篇博客intel汇编 和 AT&T汇编 的区别
编程语言(C语言和python)
C语言这门语言必须要会吧,题目大部分是用C语言写的,而且很多那些知识都要读libc的源代码,不懂C,读libc源码时就会很痛苦,虽然懂也会很痛苦 要会python吧,毕竟exp用python写的,CTF中pwn主要是用pwntools这个python库来写利用脚本,要熟悉这个库 学习python的话上菜鸟教程学吧 pwntools库的话看下面 这个库的document pwntools document 还有常见的用法 pwntools 的常见用法
计算机组成与原理
玩pwn,入门是栈溢出,要玩栈溢出,栈的构造要了解吧,函数的调用约定要了解吧,函数参数的在栈上的分布要知道吧,然后balbala很多知识点要刷,建议读下《深入理解计算机系统》这本书 还有(《程序员的自我修养》这个选读) 下面举下经常用到的知识 函数调用栈: C语言函数调用栈(一) C语言函数调用栈(二)
elf的文件结构:了解下就好了 看程序员的自我修养
PLT和GOT:Linux中的GOT和PLT到底是个啥?
系统的防护机制了解一波:系统防护机制
IDA 和gdb的常见工具的操作
linux的常见操作
pwn入门视频:
(可以关注一下B栈上的一个up主 (君莫笑hhhhhhhh) 下面是他的一些视频)
可以看下国外的 liveOverflow系列的教程:LiveOverflow]-binary hacking 台湾 Angelboy的教学视频 强烈推荐:视频地址
pwn入门博客
刷题的网站 浙大的jarvisoj平台 国外的pwnable.kr 台湾的pwnable.tw i春秋平台上的题目 还有一个国外的Scoreboard 不过需要科学上网
先大概写这么多吧,以后再补充