Unsorted Bin Attack

此漏洞可用于修改任意地址的值为一个很大的值(实际为unsorted bin的头地址)。

利用思路为覆盖位于unsorted bin中最后一个chunk的BK指针,令其指向我们需要修改其值的地址 - 0x10的位置。libc在重新Malloc完所有原先位于unsorted bin中的chunk后,会将该地址的内存值改写为Unsorted bin的header的首地址。这是一个非常大的值,可用于修改 heap 中的全局变量global_max_fast(它控制了fastbin的最大容量),若将其改为一个非常大的值,则可以把问题转化为fasbin攻击。