Fastbin Attack

libc2.26后加入了tcache机制

fastbin attack

fastbin attack能利用的前提

  • 能创建fastbin类型的chunk
  • 存在堆溢出,use-after-free(ufa)等能控制chunk内容的漏洞

如果细分的话:

fastbin double free

即利用double free漏洞构造chunk

我们首先申请回chunk1,然后修改其fd值指向一个fake_chunk,这里的chunk要保证size域合法,我们再次申请3次同样的chunk,就会依次拿到chunk2.chunk1.fake_chunk。我们只要在关键位置伪造fake_chunk就可以了。例如在malloc_hook左右伪造fake_chunk,然后修改malloc_hook的值为one_gadget就可以在调用malloc时get_shell

UAF

同fastbin double free利用手法相似,只不过只需free一次,然后修改fd指针指向fake_chunk

House of Spirit

该技术的核心在于在目标位置处伪造fastbin chunk,并将其释放,再申请回来,从而达到分配指定地址的chunk目的

小结

1.伪造合理的chunk
2.使fd指向fake_chunk.或者free fake_chunk,使得fake_chunk加入到fastbin中
3.分配得到fake_chunk,进行后续利用

posted @ 2021-08-12 01:57  dotExp  阅读(69)  评论(0编辑  收藏  举报