首先,检查一下程序的保护机制

然后,我们用IDA分析一下,在edit功能里没有检查index,可以溢出,在任意地址处写一个堆地址。
fixedpoint_plaid_2016的一题,留着备用https://github.com/ispoleet/ctf-writeups/tree/master/plaid_ctf_2016/fixedpoint
1 | #coding:utf8 |
首先,检查一下程序的保护机制
然后,我们用IDA分析一下,在add功能里,size的判断不准确,导致size可以很大,使得malloc(size)返回0,但是没有检查malloc的返回值