Assignment 7
Buffer Overflow Attack
一开始我直接复制粘贴了蔡老师的代码,结果一直得不到预期的输出,但是之后我再看了看蔡老师的课件,又去网上重新找了找资料,完成了这次实验。
核心思想:
当程序执行strcpy时,程序将char[]中的内容拷入buffer中,但是buffer只能容纳一定容量的Bytes。由于C语言不进行边界检查,所以结果是buffer后面的字节内容被覆盖掉了,其中包括了ebp, ret地址,在这个例子中就是i r命令查看到的地址,那么如果要使它变成我们想要跳转到的bug函数地址,则要把char[]内容改造——那么沿用蔡老师原来的代码自然就不行了,我们得自己更该char[]的内容,即更改为bug的函数地址。然后运行程序,自然就会跳转到程序内按规定不能到的地方。
实验步骤:
首先直接编译