这两天去看了下large bin attack的一些东西,有一种攻击方法比较没用,只是能alloc自己控制的chunk里面的内容,但是这个unsorted bin也可以做到,不用这么麻烦
然后记忆中0ctf quals有一题heapstorm2也是 large bin attack,于是去看了下
这里给下dalao的博客
真的讲得不错
然后看到heapstorm2的解析,真的惊为天人,非常优雅的攻击方法
总结一下,大概就是unsorted bin 插入large bin list的时候,会触发一个任意地址写堆地址
然后跳出unsorted bin 循环之后,还会有一个任意地址写堆地址
然后可以伪造一个大小为0x50的chunk
这个时候就相当于可以alloc到任意想要的地方
攻击方法可以总结为下面的c语言代码
1 | #include <stdio.h> |