利用思想:
利用smallbin为双向链表,每次malloc取了链表最后一个元素,可以通过更改链表指针,使其分配一个刻意构造的地址
利用难点:
1.需要一个堆溢出或其他方法能够更改到small bin的free chunk的fd和bk指针
2.存在unlink安全检查,需构造好将要malloc出来的位置的chunk(绕过安全检查)
注意:有的触发unlink就是为了得到地址相同的fastbin,从而实现fastbin attack;有的是为了使得更改某地址上的值。前者可以粗犷地让fd和bk都指向被unlink的chunk,同时被unlink的chunk的fd和bk都指向回来;后者被unlink chunk的fd/bk处即&x被改写为x-0x10又被改写为x-0x18.
详细信息: