Linux下fastbin利用小结——fd覆盖与任意地址free

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下fastbin利用小结——fd覆盖与任意地址free相关的知识,希望对你有一定的参考价值。

linux下的fastbin是ctf中pwn题的重点出题点。去年(2015)中,XCTF就有两站是使用fastbin的利用作为pwn400的压轴题来出现,这也是我刚开始接触fastbin的利用,参考了k0sh1师傅写在freebuf上的一篇文章。我写了几个demo来说明问题。

目录

1.关于fastbin

2.覆盖fd指针实现利用

3.任意地址free实现利用(House of Spirit)

 

1.关于fastbin

我们一般熟悉的堆都是双链表的chunk,但是对于大小为(16 Bytes~ 80 Bytes)的堆块来说则是使用fastbin来进行管理的。

fastbin的堆块结构与常规的chunk是完全一样,除了使用的是单链表。

技术分享

如上图就是一个正在使用中的fastbin块的结构

技术分享

这是使用fastbin

 

以上是关于Linux下fastbin利用小结——fd覆盖与任意地址free的主要内容,如果未能解决你的问题,请参考以下文章

UAF获取main_arena地址泄露libc基址

babyheap_0ctf_2017 堆技巧 fastbin-attack

fastbin_tcache

堆 | fastbin

Fastbin attack 总结

linux文件管理小结之自己定义more