/img/avatar.gif

Wings

Pwn 竞争冒险初探

介绍竞争冒险Race Condition, 又叫竞争条件. 最初源自逻辑电路中两个电信号的竞争. 由于你电计科数电不讲这玩意, 所以我也不知道是啥. 在后来的计算

Pwn Ptmalloc2 Unsortbin Attack

原理如未特殊说明, 均假定 libc 2.23, 64 位. 当 malloc 从 unsortbin 中取 chunk 时, 会有一个双向链表解链的过程 (为方便, 代码只截取数据结构部分): 1 2 3 4 5 victim = unsorted_chunks (av)->bk; bck = victim->bk; /*

Pwn Ptmalloc2 Chunk at __malloc_hook Nearby

原理堆题的最后一步攻击手段, 有一个就是覆盖各种 hook, 其中就包括 __malloc_hook. 如果我们无法控制程序恰好写入到此处, 但是可以修改 chunk 的 fd 或者 bk, 达到 尝试任意地址分配

Pwn Ptmalloc2 Unsortbin Leak Libc

原理如未特殊说明, 均假定 libc 2.23, 64 位. UnsortbinUnsortbin 也是一种类似缓存的机制, 目的在于快速取出 freed chunk. Unsortbin 的机制比较复杂, 这里仅介绍与 leak libc 有关的部分. Unsortbin 就是 malloc state 中的

Pwn Ptmalloc2 Fastbin Double Free

原理如未特殊说明, 均假定 libc 2.23, 64 位. FastbinFastbin 是 Ptmalloc2 的一种堆管理机制. 设计的目的在于分配内存时, 快速利用已有的合适 chunk. 大小小于 0x80 的 chunk free 后会被放在对应的 fastbin 中