格式化字符串 格式化字符串函数可以接受可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数。 根本原因是调用 printf 函数族的时候,因为格式字符串要求的参数个数和实际的参数格式不匹配导致去堆栈中取数据,导致泄漏出堆栈数据。 ...2021-08-08pwn格式化字符串
堆 基础glibc堆管理器:ptmalloc2。 堆由低地址向高地址方向增长。 如果申请了很多的堆块,不考虑释放堆块,会按申请的顺序依次从低地址到高地址排列。 堆空间申请申请到的一块堆内存起始地址 ≠ 可以写入数据的起始地址,因为堆块头部会记...2021-08-08pwn堆
栈 基础文件描述符0代表stdin,1代表stdout,2代表stderr。如果此时再打开一个新文件,那么文件描述符就是3。 dup2 可以用参数newfd指定新文件描述符的数值。若参数newfd已经被程序使用,则系统就会将newfd所指的文...2021-08-08pwn栈
pwn工具 glibc下载:https://ftp.gnu.org/gnu/libc/ 本地更换libc环境准备工作下载工具 patchelf:git clone https://github.com/NixOS/patchelf glibc-all...2020-05-13pwn脚本pwntools