hacktricks/binary-exploitation/heap/house-of-einherjar.md

3.5 KiB
Raw Blame History

Einherjar之屋

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

基本信息

代码

目标

  • 目标是在几乎任意特定地址上分配内存。

要求

  • 通过下一个块的头部的一个偏移量来修改前一个块的使用情况
  • 能够修改prev_size数据,这是当前块的一部分(位于末尾)
  • 堆泄漏

攻击

  • 在受攻击者控制的块内创建一个A假块,将fdbk指向原始块以绕过保护
  • 创建另外2个块BC
  • 利用B中的一个偏移量,清除prev in use位并用C块分配的位置与之前生成的假A块之间的差异覆盖prev_size数据
  • 这个prev_size和假块A的大小必须相同以绕过检查
  • 然后填充Tcache
  • 然后释放C,使其与假块A合并
  • 然后创建一个新块D,它将从假A块开始并覆盖B
  • 然后释放B,并将其fd覆盖为目标地址,使其指向目标地址,利用包含它的D
  • 然后进行2次malloc因为第二次malloc将包含目标地址

参考资料

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式