重写已释放的块

Reading time: 3 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks

一些提议的堆利用技术需要能够重写已释放块中的指针。本页的目标是总结可能授予此访问权限的潜在漏洞:

简单的使用后释放

如果攻击者能够在一个已释放的块中写入信息,他们可以利用这一点来重写所需的指针。

双重释放

如果攻击者能够对同一个块进行两次free(可能在之间释放其他块)并使其在同一个桶中出现两次,用户将能够稍后分配该块写入所需的指针,然后再次分配它,触发该块被分配的操作(例如,快速桶攻击,tcache攻击...)

堆溢出

可能会溢出一个分配的块,后面有一个已释放的块,并修改其一些头部/指针。

一偏移溢出

在这种情况下,可以修改内存中下一个块的大小。攻击者可以利用这一点使一个分配的块具有更大的大小,然后**free它,使该块被添加到不同大小的桶中**(更大),然后分配伪大小,攻击将能够访问一个实际大小更大的块因此授予重叠块的情况,这可以以与堆溢出相同的方式利用(查看前一节)。

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks