堆
钞sir
物是人非事事休
展开
-
Use After Free
我恋你如烈酒般浓 我恨你如风如影朦一清晨这一朦胧 粉身碎骨亦不逢原理use_after_free就是其字面所表达的意思,当一个内存块被释放之后再次被使用。但是其实这里有以下几种情况:内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然程序会崩溃。内存块被释放后,其对应的指针没有被设置为NULL,然后在它下一次被使用之前,没有代码对这块内存块进行修改,那么程序很有可...原创 2019-01-11 22:05:07 · 8447 阅读 · 3 评论 -
Fastbin Double Free
似水流年月下花前 一舞倾城醉红颜岁暮天寒月缺花残 独留孤影忆从前简介fastbin attack 是一类漏洞的利用方法,是指所有基于 fastbin 机制的漏洞利用方法,而fastbin_double_free就是其中的一种,这类漏洞利用的前提是:存在堆溢出、use-after-free等能控制chunk内容的漏洞漏洞发生于fastbin类型的chunk中Fastbin Double...原创 2019-01-19 17:56:00 · 5043 阅读 · 6 评论 -
Overflow Freed Chunk
一世风尘过往云烟 弯月又挂南山颠不见故人轻舞翩跹 只闻落泪往昔间简介Overflow Freed Chunk可以理解为常规的堆溢出,即程序向某个堆块中写入的字节数超过了堆块本身可使用的字节数(之所以是可使用而不是用户申请的字节数,是因为堆管理器会对用户所申请的字节数进行调整,这也导致可利用的字节数都不小于用户申请的字节数),因而导致了数据溢出,并覆盖到物理相邻的高地址的下一个堆块不难发现...原创 2019-01-21 22:28:00 · 3729 阅读 · 0 评论 -
Hgame2019_baby tcache
简介Tcache机制应该是从2.26之后版本的libc中才加进去的,而这个机制可能使我们的攻击变得更加简单,因为我们可能不需要去构造false_chunk,只需要覆盖tcache中的next,即将tcache中的next覆盖为我们自己的地址,从而达到任意地址写入;简单地来讲,Tcache机制就是增加一个bin缓存,而且每个bin是单链表结构,单个tcache bin默认最多包含7个块;在释放...原创 2019-03-01 15:10:08 · 3969 阅读 · 1 评论 -
Unlink
简介unlink是在smallbin被释放的时候的一种操作,是将当前物理内存相邻的free chunk进行合并,简单的讲就是我们在free一个smallchunk的时候,如果它前面或者后面的chunk有空闲的,即in_use位为0时,就将前面或后面的chunk连在一起合成一个chunk;smallbin的数据结构:prev_size,size,fd,bk;因为smallbin被释放后是用双...原创 2019-03-03 17:24:19 · 4753 阅读 · 0 评论 -
namebook
检查机制:sir@sir-PC:~/desktop$ checksec name[*] '/home/sir/desktop/name' Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PIE: No PIE (...原创 2019-03-06 21:30:54 · 3734 阅读 · 0 评论