重写已释放的块
Reading time: 3 minutes
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
一些提议的堆利用技术需要能够重写已释放块中的指针。本页的目标是总结可能授予此访问权限的潜在漏洞:
简单的使用后释放
如果攻击者能够在一个已释放的块中写入信息,他们可以利用这一点来重写所需的指针。
双重释放
如果攻击者能够对同一个块进行两次free
(可能在之间释放其他块)并使其在同一个桶中出现两次,用户将能够稍后分配该块,写入所需的指针,然后再次分配它,触发该块被分配的操作(例如,快速桶攻击,tcache攻击...)
堆溢出
可能会溢出一个分配的块,后面有一个已释放的块,并修改其一些头部/指针。
一偏移溢出
在这种情况下,可以修改内存中下一个块的大小。攻击者可以利用这一点使一个分配的块具有更大的大小,然后**free
它,使该块被添加到不同大小的桶中**(更大),然后分配伪大小,攻击将能够访问一个实际大小更大的块,因此授予重叠块的情况,这可以以与堆溢出相同的方式利用(查看前一节)。
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。