PWNVIP360
这是 CTFshow 平台的 PWN 付费大会员课程,共有 360 个靶场,系统化地覆盖了从基础到高级的二进制安全知识
课程结构
| 靶场序号 | 模块 | 攻击面 | 攻击手段 |
|---|---|---|---|
| 0-34 | 前置基础 | 计组原理 汇编基础 二进制文件基础 Linux相关基础命令 Linux安全机制 | ssh远程连接、配置pwn环境 读汇编指令,数据的传送与访问以及了解栈与函数的调用 从源码到可执行文件 基本命令的使用与绕过 保护机制的实现与利用 |
| 35-80 | 栈溢出与ROP | 栈溢出(Stack Overflow) 返回导向编程(ROP) (Return-Oriented Programming) | ret2text ret2shellcode ret2syscall ret2libc ROP BROP SROP ret2dl-resolve Stack pivoting |
| 91-100 | 格式化字符串漏洞 | 格式化字符串漏洞(Format String Vulnerabilities) | 程序崩溃 栈数据泄露 任意地址内存泄露 栈数据覆盖 任意地址内存覆盖 |
| 101-110 | 整数安全 | 整数安全 | 整数溢出(Integer Overflow) 整数下溢(Integer Underflow) 整数截断(Integer Truncation) 整数比较(Integer Comparison) 整数转换(Integer Conversion) 标志位操作(Flag Manipulation) 随机数生成(Random Number Generation) |
| 111-134 | Bypass安全机制 | RELRO(Relocation Read-Only) Stack Canaries (金丝雀保护) No-execute (NX) ASLR和PIE FORTIFY_SOURCE | No RELRO 全关时的安全问题 Partial RELRO 部分开启时的安全问题 Full RELRO 全开时的安全问题 No Canary Found 时的安全问题 覆盖低字节泄露 格式化字符串泄露 SSP Leak 劫持 _stack_chk_fail 函数 one_by_one 爆破 canary 覆盖TLS中储存的canary值 C++异常机制绕过canary 栈地址任意写绕过canary检查 数组下标越界 No Nx 利用 Nx 绕过 地址空间布局随机化 位置无关可执行代码与文件 危险函数替换机制 |
| 135-305 | 堆利用 | 堆利用(Heap Exploitation) House of 系列 | 堆溢出(Heap Overflow) 重复释放 (Double Free) 使用已释放的内存 (Use-After-Free, UAF) 未初始化的指针(Uninitialized Pointer) 堆块重叠(Heap Block Overlapping) fastbin attack tcache attack Unsorted Bin into Stack Large Bin Attack house of spirit house of einherjar house of force house of lore house of orange house of rabbit house of roman house of pig house of banana house of emma house of kiwi house of husk house of corrosion house of storm house of atum House of IO House of apple1 2 3 house of gods... |
| 306-324 | PWN利用技巧 | PWN trick | one-gadget 和通用 gadget Return-to-scu DynELF泄露函数地址 SSP Leak environ泄露栈地址 vsyscall的利用 劫持hook函数 _IO_FILE 结构利用 |
| 325-330 | 其他漏洞利用 | 逻辑漏洞利用 | 二级指针利用 未初始化验证 泄露特定信息 WEB-PWN |
| 331-355 | 异构PWN | Other architectures PWN | LLVM IR & LLVM Pass & VM Windows PWN MIPS PWN ARM PWN RISC-V PWN |
| 356-360 | 内核PWN | Kernel PWN 入门 | 缓冲区溢出 内核堆利用 内核ROP 内核模块利用 内核ROP链构建 |