heap overflow
相关理解文档记录如下:
https://sploitfun.wordpress.com/2015/02/10/understanding-glibc-malloc/
https://sploitfun.wordpress.com/2015/02/26/heap-overflow-using-unlink/
看了许多参考文章,只有这两遍最容易理解。
前面两遍讲的是unlink,glibc harden了,行不通。
今天看了下off by one利用方式:
https://sploitfun.wordpress.com/2015/06/09/off-by-one-vulnerability-heap-based/
14年、15年就被修补了漏洞,在Centos 7上,试了下libc_start_main->exit->__run_exit_handlers后,居然没找到tls_dtor_list
UAF(use after free)
https://sploitfun.wordpress.com/2015/06/16/use-after-free/
这块更牛B,直接写死libc addr为0xb756a000 后继不断做暴力尝试。
House of Mind:利用unsorted bin,freed heap与unsorted bin合并,构造Arena和heap_info结构,unsorted bin也被harded了,目前也难利用。
https://sploitfun.wordpress.com/2015/03/04/heap-overflow-using-malloc-maleficarum/
House of Force:利用top chunk,改写top chunk size,下次malloc时,利用可控的malloc size移动到任何位置,如.data segment .got处,再malloc一次就可以实现移动后地址写了。
上文也有介绍,不过介绍不详细,下面文章详细有描述:
https://bbs.pediy.com/thread-222924.htm
House of Spirit:
1.用户能够通过漏洞控制一个free的指针P
2.在可控位置(.bss,stack,heap)上构造一个fake fastbin chunk
3.将P修改为fake fastbin chunk 的chunk address,并且将其free到FastbinY[i]中去
4.下次malloc一个相应大小的fastbin时就能够返回fake fastbin chunk的位置,实现write anything anywhere
http://0x4c43.cn/2018/0413/linux-glibc-heap-houseofspirit/