How2heap--tcache_stashing_unlink_attack Hitcon2019--one_punch
tcache stashing unlink attack 在tcache中布置5个chunk,对应大小的small bin中布置2个chunk。修改倒数第二个small chunk的bk指向target,target->bk写入一个可写的位置。使用calloc触发,因为calloc调用_int_malloc不会使用tcache进行分配(除了_int_malloc遍历unsorted bin的尾部),只会往tcache中填充。 可以造成target->bk->fd位置写入大数字,并且target成为tcache中第一个,再次malloc就可以获得。 有点像fastbin reverse into tcache。 variation 在tcache中布置6个chunk,对应大小的small bin中布置2个chunk。(可以用unsorted bin切割的方式布置2个small bin) 修改倒数第二个small chunk的bk,calloc触发,只在bk->fd写入大数字。 ...