堆相关漏洞利用libc异常提示原因记录

转载自anciety师傅的

Memory Corruption (fast)

原因

sizefast bin 范围。
fastbin 取出的 chunksize 不属于该 fastbin

smallbin double linked list corrupted

原因

sizesmallbin 范围。
smallbin 的最后一个被取出的时候发现不为 double linked list
如拿出的那一个为 victim,是 small bin 的最后一个,必须满足 victim -> bk -> fd == victim ,否则会报这个错误

memory corrption

原因

unsorted bin中有chunk时,
unsorted bin的最后一块的时候,必须要求size 大于 2 * SIZE_SZ,且小于system_mem

corrupted unsorted chunks

原因

sizelarge bin范围时,分配时,对于chunk剩下的空间会被放入last remainder,然后放于unsorted bin,这时如果unsorted bin的第一个fd不等于unsorted bin的位置会报找这个错误。

invalid pointer

原因

free的时候,如果alignment出错或者chunk address大于-size将会报这个错误

invalid size

原因

free的时候,如果size大小不合法,比如没有满足对齐,或者小于MINSIZE将会报这个错误

invalid next size (fast)

原因

sizefastbin的时候如果下一块的chunk size不合法(size大于MINSIZE,小于system_mem),会报这个错误

double free or corruption (fasttop)

原因

fastbin的第一块chunk不能是正在freechunk

double free or corruption (top)

原因

sizesmall binlarge bin时,正在freechunktopchunk的位置不能相同

double free or corruption (out)

原因

下一个chunk的位置如果超出Heap边界即出错

double free or corruption (!prev)

原因

根据下一块chunkinuse bit确定当前freechunk是否能被free,如果不正确则出错

invalid next size (normal)

原因

sizesmall binlarge bin 时,确认下一块chunk是否在正确范围(大于2*SIZE_SZ,小于system_mem)

corrupted unsorted chunks

原因

small bin & large binunlink后,准备放入unsorted bin时,会先取第一块chunk,检查该chunkbk是否为unsoted bin

corrupted double linked list

原因

unlink时的检查,确认p->bk->fd == p以及 p->fd->bk == p

corrupted size vs. prev size

原因

unlink时的检查,确认下一块的prev size和当前块的size相同.

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. Memory Corruption (fast)
  2. 2. smallbin double linked list corrupted
  3. 3. memory corrption
  4. 4. corrupted unsorted chunks
  5. 5. invalid pointer
  6. 6. invalid size
  7. 7. invalid next size (fast)
  8. 8. double free or corruption (fasttop)
  9. 9. double free or corruption (top)
  10. 10. double free or corruption (out)
  11. 11. double free or corruption (!prev)
  12. 12. invalid next size (normal)
  13. 13. corrupted unsorted chunks
  14. 14. corrupted double linked list
  15. 15. corrupted size vs. prev size
,