mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 14:10:41 +00:00
5.1 KiB
5.1 KiB
堆函数安全检查
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS和HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs收藏品
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
unlink
此函数从双向链表中移除一个块。常见检查确保在取消链接块时保持链接列表结构一致。
- 一致性检查:
- 检查
P->fd->bk == P
和P->bk->fd == P
。 - 错误消息:
corrupted double-linked list
_int_malloc
此函数负责从堆中分配内存。这里的检查确保在分配期间内存不会损坏。
- Fastbin大小检查:
- 从fastbin中移除块时,确保块的大小在fastbin范围内。
- 错误消息:
malloc(): memory corruption (fast)
- Smallbin一致性检查:
- 从smallbin中移除块时,确保双向链表中的前一个和后一个链接是一致的。
- 错误消息:
malloc(): smallbin double linked list corrupted
- Unsorted Bin内存范围检查:
- 确保未排序bin中块的大小在最小和最大限制内。
- 错误消息:
malloc(): memory corruption | malloc(): invalid next size (unsorted)
- 未排序Bin一致性检查(第一种情况):
- 在将剩余块插入未排序bin时,检查
unsorted_chunks(av)->fd->bk == unsorted_chunks(av)
。 - 错误消息:
malloc(): corrupted unsorted chunks
- 未排序Bin一致性检查(第二种情况):
- 与前一个检查相同,但在拆分快速或小块后插入时触发。
- 错误消息:
malloc(): corrupted unsorted chunks 2
_int_free
此函数释放先前分配的内存。这里的检查有助于确保适当的内存释放并防止内存损坏。
- 指针边界检查:
- 确保被释放的指针没有环绕内存。
- 错误消息:
free(): invalid pointer
- 大小检查:
- 确保被释放的块的大小至少为
MINSIZE
或MALLOC_ALIGNMENT
的倍数。 - 错误消息:
free(): invalid size
- Fastbin大小检查:
- 对于fastbin块,确保下一个块的大小在最小和最大限制内。
- 错误消息:
free(): invalid next size (fast)
- Fastbin双重释放检查:
- 在将块插入fastbin时,确保头部的块与要插入的块不同。
- 错误消息:
double free or corruption (fasttop)
- Fastbin一致性检查:
- 在插入到fastbin时,确保头部块和要插入的块的大小相同。
- 错误消息:
invalid fastbin entry (free)
- 顶部块一致性检查:
- 对于非fastbin块,确保块与顶部块不同。
- 错误消息:
double free or corruption (top)
- 内存边界检查:
- 确保内存旁边的下一个块在arena的边界内。
- 错误消息:
double free or corruption (out)
- Prev_inuse位检查:
- 确保下一个块中的前一个使用位被标记。
- 错误消息:
double free or corruption (!prev)
- 正常大小检查:
- 确保下一个块的大小在有效范围内。
- 错误消息:
free(): invalid next size (normal)
- 未排序Bin一致性检查:
- 在将合并的块插入未排序bin时,检查
unsorted_chunks(av)->fd->bk == unsorted_chunks(av)
。 - 错误消息:
free(): corrupted unsorted chunks
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS和HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs收藏品
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。