参考和题目链接:https://paper.seebug.org/445/#pwnfastbin
如果有其他问题可以加讨论qq群:946220807
前言
这个题,我搞了有一天,没搞出来,就在我快放弃的时候,才终于解出来,可能系统不一样,我覆盖不了参考文章的说的地址,最后我覆盖了别的地址。具体来看看吧。
分析
链接里直接给出了源码,我就不贴出来了。
分析源码:这个程序3个功能
- create功能:分配一块内存空间,并可以写入数据
- read功能,读取数据
- free功能:释放内存空间
我们发现create_chunk函数是先判断是否大于0x2f然后再自增的,所以如果当chunk_number为0x2f时,然后再自增。则为0x30。则list[0x30]造成溢出。
其实参考链接里将的很清楚了,我这里把我当时疑惑的地方记在这里。
问题1:
执行三次free(list[-3])&