pwn中的send与sendline read()函数与scanf()函数 当read(0, buf, 50)接收50个字节时,如果已经构造了50个字节的payload,则要使用send,不要使用sendline 若使用sendline(),多余的\n换行符会影响下一次io 2025-04-06 pwn
xyctf2025_wp ret2libc看保护:no pie 、 no canary 进入revenge函数后: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 2025-04-04 WP
pwn自动化更改libc 原始方法更改pwn题libc pwninit项目地址:io12/pwninit: pwninit - automate starting binary exploit challenges参考文章:pwninit项目常见问题解决方案-CSDN博客 功能: 安装1cargo install pwninit 使用pwninit自动化将相关的二进制文件、库文件放置在同一个目录下执行 1 2025-04-02 pwn
整数安全 1scanf("%[^\n]", buffer); %[^\n]格式符用于从输入流中读取一行字符串,直到遇到换行符为止换行符本身不会被读取,而是留在输入缓冲区中 1void *memcpy(void *dest, const void *src, size_t n); dest:目标内存地址(指向要写入数据的内存块)src:源内存地址(指向要复制的数据块)n:要复制的字节数 2025-03-31 pwn
house of apple 条件: 从main函数返回或能调用exit函数 能泄漏出heap地址和exit地址 能使用一次largebin attack 当程序从main函数返回或执行exit函数时,均会调用fcloseall函数该调用链为: exit fcloseall _IO_cleanup _IO_flush_all_lockp_ _IO_OVERFLOW 最后会遍历_IO_list_all存放 2025-03-31
whuctf2025-wp与复现 pwn repeater利用思路: 泄漏canary 泄漏泄漏调用程序主体的__libc_start_call_main+128函数地址 根据__libc_start_call_main+128地址和libc中固定的相对偏移计算出函数__libc_start_main函数地址,进而计算出libc基址 覆盖程序返回值,调用system拿到shell 泄漏出main函数返回地址:__libc_st 2025-03-29
house of force 如果一个堆(heap based)漏洞想要通过house of force方法利用需要以下条件: 能够以溢出等方式控制到top chunk的size域 能够自由地控制堆分配尺寸的大小 这种利用手法来源于glibc对top chunk的处理:进行堆分配时,如果所有空闲的块都无法满足需求,那么就会从top chunk中分割出相应的大小作为堆块的空间 ctfshow143no pie在这个题目中 2025-03-28 pwn #堆利用
堆相关数据结构 malloc_chunkbinfastbin小LIFO单链表不会对free chunk进行合并操作 smallbin中FIFO循环双链表相邻的free chunk会进行合并操作 largebin大 unsortedbin 64位中<= 0x80 fastbin <<= 0x200 smallbin < largebi 2025-03-27 pwn #堆利用