方向:pwn

掌握的内容(有些只掌握了一点点)

基础

汇编、C/C++、Python、Linux(掌握不足)

工具

IDA

掌握了的静态分析的基本技巧和一些快捷键,能够读懂汇编代码和 C 伪代码

checksec

会看看保护

readelf

会查符号表之类的,用的不多

objdump

之前会拿来看 setcontext 函数,不怎么用

seccomp-tools

看沙箱

tmux

掌握了基本的用法,但对一些能提高效率的快捷键掌握不足

pwndbg

掌握了基本的动态调试技巧,如步进、断点、运行至函数结束、查看映射、查看内存等,但对一些奇妙的指令掌握不足

pwninit

非常好懒人工具,使我的 glibc 旋转,一键 patchelf ,非常的好用

自从开始用这个,glibc_all_in_one 我就没再打开过

pwntool

掌握了基本的脚本编写技巧,但对一些神奇的自动化工具探索不足

libcdb

在没有给 libc 时这简直是救星,把能 leak 的都 leak 一遍直接开筛

docker

会 build 、 run 并把环境中的 libc 拿出来用,但是还没掌握在 docker 里面用 gdbserver 调试的方法

socat

会挂载 server 到端口上,不过命令有点忘了

AE64

会拿来生成过神秘的可见字符 shellcode

z3solver

拿来解密有 safe linking 保护的 tcache 的 next 指针,不过自己写算法解也挺方便的(

技能

基础技能

数组越界、格式化字符串漏洞、整数溢出、函数指针、got hijack、字符串截断、随机数预测

栈溢出、栈迁移、rop、ret2text、ret2syscall、ret2shellcode、ret2libc、ret2csu、ret2dlresolve、ret2gets、SROP

堆溢出、UAF、Double Free(感觉高版本下利用比较困难?)、off_by_one(见得很少)

阅读了 glibc 2.35 的 malloc 和 free 的源码,掌握了高、低版本的 tcache poisoning 技巧,掌握了高版本下的 largebin attack 以及 house of apple2 (感觉和 house of cat 区别不大?看过 house of cat 的利用链但没刻意用它写过题,ciscn 的那道 house of cat 我是用 house of apple2 写的),还有低版本下 hook 函数的劫持,setcontext 的运用, house of spirit

其他技巧

onegadget、fork 的特性、canary 覆盖、orw、shellcode 自举、侧信道爆破、piggyback(输入流复用)

没掌握但计划学习的内容

基础

rust、异架构

工具

pwncli

不会。听说很厉害,但是没去用

技能

environ 泄露的手法还没尝试过,目前做过的保护全开的堆题都靠 house of apple2 ,以及栈迁移到堆上打 rop

听说还有影子栈等神奇保护机制,但没碰到这种题(

rust pwn、vm pwn、kernel pwn,,,怎么比赛里都是这种题,碰到了动都动不了

听别人说还有 LLVM pwn、webpwn、v8 pwn、misc pwn、AI pwn ,,,

还有个神秘的 windows pwn

堆风水貌似其实算是有接触过一些相关题目?但栈风水又是什么

低版本下的一些堆利用(fastbin、unsortedbin、largebin)、tcache stashing unlink attack ,其他神奇的 house of 系列

多线程相关漏洞

该更新下自己打 pwn 的模板了(看了别人的好像都在用各种缩写,

纯粹的 FSOP 还没领略过,,,

其他

还打了些比赛,成绩不大好(