Fastbin Attack

题外:本文只是记录自己所学,参考博客:https://ctf-wiki.github.io/ctf-wiki/pwn/linux/glibc-heap/fastbin_attack-zh/

fastbin attack大体思路是修改chunk的fd指针或通过free伪造的chunk,将其添加到fastbin链表中,再通过malloc分配给用户从而达到任意地址写。大致可分为以下几种利用方法。

fastbin double free:

fastbin double free就是将同一个chunk  free两次。不过free函数有一个检查,我们必须得绕过:

if (__builtin_expect (old == p, 0))
    malloc_printerr ("double free or corruption (fasttop)");

这个检查大致意思是当前free的不能和fastbin里的第一chunk为同一个chunk。我们free chunk1两次,那free的顺序必须是chunk1 chunk2 chunk1。否则会报错。

猜你喜欢

转载自www.cnblogs.com/countfatcode/p/11829124.html