堆结构
free后的堆块管理根据不同情况使用不同的bin链
堆漏洞挖掘中的bins分类(fastbin、unsorted bin、small bin、large bin)-CSDN博客
已经申请的堆结构类似于下面
1 | struct chunk |
而其中char data[size&0xFFFFFFF8]
部分的第一个size_t
大小个字节用于fd,第二个size_t
大小个字节用于bk在已经分配的情况下,这两个指针无意义可直接被数据覆盖
已经free掉的则为
1 | struct chunk |
这些chunk由链表串联,这一系列相同大小的称为bin
例如xxbin[0x20]–>chunk1–>chunk2 (其实是循环链表)
Tcache bin
tcache bin 是在后续glibc版本中使用的(libc2.26)
Unsorted bin
- 标题: 堆结构
- 作者: runwu2204
- 创建于 : 2024-06-08 17:02:22
- 更新于 : 2024-10-27 23:03:47
- 链接: https://runwu2204.github.io/2024/06/08/Pwn/linux/heap/堆结构/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论