unleak利用
不基于信息泄露的堆利用方法
首先,假设可以申请任意长度的堆块,并且存在漏洞,申请后的堆块可以使用。
我们通过漏洞制造fastbin中的堆块与unsortbin中的堆块重合。(可以用roman)
1 | fastbins |
然后申请堆块,使得unsortedbin与fastbins重合,导致fastbin的指针指向main_arena,
接着,通过局部覆盖使得fastbin指向malloc_hook前面
然后设置malloc_hook大小,然后通过unsortbin attach 狙击main_arena,然后改变大小