/img/avatar.gif

Wings

Pwn Ptmalloc2 Largebin Attack

原理 largebin 结构Largebin 管理更大的堆块, 但是他的每个 bin 中的堆块大小不是一样的. 具体来说, 是这样的: size index 64 [0x400, 0x440) 65 [0x440, 0x480) 66 [0x480, 0x4C0) 67 [0x4C0, 0x500) 68 [0x500, 0x540) … 等差

2022 bi0sCTF Pwn note

静态分析64 位 ELF, 没开 PIE, 没有 cannary. 逆向出的 Note 如下: 1 2 3 4 5 6 7 8 9 10 struct __attribute__((aligned(4))) Note { __int64 id; char name[16]; int size; _BYTE used; _BYTE sent; _BYTE reversed[1024]; _BYTE content[1023]; }; main: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Pwn Ptmalloc2 Tcache Perthread Corruption

原理每个线程都有一个 tcache, 用一个 tcache_perthread_struct 的结构体维护, 这个结构体放在各个线程的堆上 (每个线程都有独立的堆空间). 那么只要劫持了这个结构体, 就可以直接篡

Pwn 使用 Socket 绕过关闭输出

原理关闭输出后想要得到 flag, 可以建立一个 socket 链接, 通过 TCP 发送出去. 首先得有一个能够访问的 socket server, 可以拿有公网 ip 的服务器, 使用 nc -lp <port> 开一个 socket 服务端并监听