A2ur2的梦想小屋

我许下的愿望该向谁去说明

0%

一、基础知识

1、IO FILE的主要结构

在进入正题之前,我们需要对IO FILE有一定基本了解,之前我们知道的利用unsorted bin残留指针去爆破stdout就是修改了IO FILE里面的机构,让其能输出。一般的程序都会有stdout、stdrr、stdin这三个管理数据流的IO FILE

阅读全文 »

一、前言

时隔一个月某有更新博客了,上一次搞那个patchelf调了快半个星期没弄好之后心态大崩,一下子动力失去,直接摆烂了一整个五一。五一过后没多久,被uuu师傅狠狠的打击到了orz,又捡起来了继续pwn。然后紧接着就是省赛,看了下去年的省赛两题都是2.31的堆,都是没有输出函数要打stdout去输出,最后劫持tcache去getshell,当时一看差点直接晕厥,后面一个多星期速成完了tcache和stdout输出,对这两个技巧有了大致了解后就是五月的das了,又是stdout输出(

直接赶趟了,一篇博客一道题搞完劫持stdout还有最后利用tcache劫持到exit hook完成getshell

阅读全文 »

一、前言

最近这段时间,感觉没有说系统的学习一个bin的attack,而是卡在了一题heap的题目,反复调试下也是掌握了一些零碎的但未曾接触过的知识。最近的学习状态有点迷,感觉自己的兴趣和热情被消耗的过多,容易去担忧自己未来能不能找到一个让自己满意的工作,怕自己能力和天赋不足,怕付出和收获不成正比。emo下,进入正题,分享一道简单堆题

阅读全文 »

fastbin attacked

一、什么是fastbin

在glibc的堆块管理中,为了加快堆块分配的效率,会使用bins来管理分配了之后又释放的空闲堆块,当用户分配内存时,系统会先从bins里面寻找是否有合适大小的堆块,如果没有再考虑另外的分配方式(如top chunk切割等)。fastbin就是这样的一个bins,当大小在0x20~0x80的堆块被释放后就会进入fastbin。fastbin使用的是单链表链接的方式保存堆块,而且单条链表中的chunk大小是一致的。

在主线程中会存在一个名为fastbinY的全局变量数组,大小为7,用于存放fastbin单个链表的头指针

阅读全文 »

一、off by one漏洞利用的前置知识点

1.什么是off by one

off by one是指在输入的时候没有严格控制输入的数据大小,导致溢出了一个字节长度的数据。通常来说循环写入数据时没有控制循环次数(例如在循环结束时补充了‘\x00’,但是循环的次数却是缓冲区的大小),字符串处理不当(例如组合利用strlen和strcpy)

阅读全文 »