七月 3, 2017
六月 3, 2017
个人刚入门pwn,一直觉得300分的题目是道坎,所以cuit的这次比赛pwn300以后的压根就没动,只是默默地将题目下载下来保存,然后线下慢慢啃了。做完这题才发现,原来这题根本没想象中的那么难。。。
题目实现了一个小型记事本程序,有如下命令列表可以进行增删改查(“add”命令其实是程序写错了,应该用“new”命令才对):
5月 31, 2017
好久没玩cuit,今年重拾ctf,入坑pwn,据说cuit题目出的不错,我不管,对本人来讲,能学到东西的题目就是好师傅,下面看题:
题目就给了一个地址,没有任何附件,于是用nc连上去看看:
对于这一题(出自iscc2017)我是又爱又恨,爱是因为它帮助我去学习了一直以来没去实践过的堆分配策略、double free漏洞等相关的经典知识,恨是因为个人水平有限被这道题整整虐了五天,每次觉得突破了一个关卡后面又等着一个坑,让人欲罢不能,最终也实在无奈又好奇地去求教一些大佬才得以解惑,也着实受益匪浅。下面分享一下这题的心路历程吧~
先看一下程序的功能,每次会输出包含4个选项的菜单,分别是1、create(创建内存堆块并保存输入数据)2、read(读取某堆块内存的数据)3、free(释放某堆块的内存数据)4、bye(退出):