高版本largebin_attack
文章发布时间:
最后更新时间:
最后更新时间:
利用源码
1 |
|
利用原理
victim是将要链入largebin的堆块
fwd是已经进入large bin中比victim较大的堆块
如果largin bin中仅有一个堆块
fwd->fd就指向fwd本身
如果能够控制fwd->bk_nextsize位target_addr,就能向target_addr + 0x20 的位置写入victim的地址
这个0x20是因为c语言中访问结构体对象本质是运用偏移,所以->fd_nextsize相当于+ 0x20
所有largbin attack流程就是:
先使一个堆块进入large bin中,修改其bk_nextsize为target_addr
再使一个比第一个堆块较小的堆块进入large bin即可触发largebin attack
largebin attack通常作为io利用的前置,用于修改_io_list_all为堆块地址,再进行相关io的伪造和利用