1.将数字txt文件转换成字符串txt文件
2.level2
touch2的地址:0x00000000004017ec
cookie的值:
找到调用getbuf的栈的栈顶地址0x5561dc78
汇编代码转成机器码
3.level3
(1)得到touch3函数的地址
地址为0x4018fa
(2)找到cookie的值
根据十六进制和ASCII码的对应,所以对应的字符表示为
35 39 62 39 39 37 66 61 00
(3)存字符串的位置
因为跳转到touch3后,touch3会调用hexmatch函数,该函数会使用栈
如果我们将字符串的入口地址放在test函数栈帧以下的位置,就可能被覆盖,导致出错
所以应该放在test函数栈帧中
我们输入的开始地址是getbuf函数栈帧的最底部,地址为0x5561dc78
往上走40个字节就到了getbuf函数结束后返回地址的部分,占8个字节,所以我们应该放在
0x5561dc78+0x30的地方,也就是0x5561dca8处
(4)得到攻击代码
48 c7 c7 a8 dc 61 55 68 fa 18 40 00 c3
(5)最终注入文件
4.level4
(1)