专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
今天看啥  ›  专栏  ›  看雪学苑

堆利用详解:the house of rabbit

看雪学苑  · 公众号  · 互联网安全  · 2024-02-11 17:59

文章预览

一 简介 介绍部分来自参考资料[0],其余内容参考自glibc malloc源码,本文结合源码探讨了malloc中的多种机制:包括malloc consolidation,unsortedbin sort,mmap,heap grow等。 漏洞成因 overflow write 、 use after free 适用范围 ◆ 2.23 —— 2.26 ◆超过 0x400 大小的堆分配 ◆可以写 fastbin 的 fd 或者 size 域 利用原理 该利用技巧的核心是 malloc_consolidate 函数,当检测到有 fastbin 的时候,会取出每一个 fastbin chunk ,将其放置到 unsortedbin 中,并进行合并。 以修改 fd 为例,利用过程如下: ◆申请 chunk A 、 chunk B ,其中 chunk A 的大小位于 fastbin 范围 ◆释放 chunk A ,使其进入到 fastbin ◆利用 use after free ,修改 A->fd 指向地址 X ,需要伪造好 fake chunk ,使其不执行 unlink 或者绕过 unlink ◆分配足够大的 chunk ,或者释放 0x10000 以上的 chunk ,只要能触发 malloc_consolidate 即可 ◆此时 fake chun ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览