House of Rabbit
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
能够修改快速 bin fd 指针或大小:这意味着您可以更改快速 bin 中一个块的前向指针或其大小。
能够触发 malloc_consolidate
:这可以通过分配一个大块或合并顶部块来完成,这会强制堆合并块。
创建重叠块:使一个块与另一个块重叠,从而允许进一步的堆操作。
伪造假块:欺骗分配器在堆操作期间将假块视为合法块。
目标:通过操纵快速 bin 块的大小来创建重叠块。
步骤 1:分配块
我们分配两个各为0x40字节的块。这些块在释放后将被放入快速空闲链表中。
步骤 2:释放块
我们释放这两个块,将它们添加到 fastbin 列表中。
步骤 3:修改块大小
我们将 chunk1
的大小元数据更改为 0xa1。这是一个关键步骤,用于在合并期间欺骗分配器。
步骤 4:触发 malloc_consolidate
分配一个大块会触发 malloc_consolidate
函数,合并快速堆中的小块。被操控的 chunk1
的大小导致它与 chunk2
重叠。
合并后,chunk1
与 chunk2
重叠,从而允许进一步的利用。
fd
指针目标:通过操控快速堆 fd
指针创建一个假块。
步骤 1:分配块
解释:我们分配两个块,一个较小和一个较大,以便为假块设置堆。
步骤 2:创建假块
我们将假块元数据写入 chunk2
以模拟较小的块。
步骤 3:释放 chunk1
解释:我们释放 chunk1
,将其添加到 fastbin 列表中。
步骤 4:修改 chunk1
的 fd
解释:我们将 chunk1
的前向指针 (fd
) 更改为指向 chunk2
内部的假块。
步骤 5:触发 malloc_consolidate
分配一个大块再次触发 malloc_consolidate
,它处理假块。
假块成为快速链表的一部分,使其成为进一步利用的合法块。
兔子之家 技术涉及修改快速链块的大小以创建重叠块或操纵 fd
指针以创建假块。这允许攻击者在堆中伪造合法块,从而启用各种形式的利用。理解和实践这些步骤将增强你的堆利用技能。
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE) 学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)