devnull个人wp(栈迁移)
一.思路分析 根据汇编代码能够绘制出如下栈帧: 第一次fgets(s, size_0x21, stdin);这里有一个off by one的溢出,可以将fd的低位03改成00,从而使得接下来的read变成标准读入。 下一次read(fd, &v3, size_44)时,可以刚好覆盖返回地址,因此发现栈帧溢出不够,因此考虑栈迁移。同时此处还可以修改buf指针的地址,从而控制接下来读入数据的位置。 一开始我想把buf设置到bss段,但是由于在read(fd, &v3, size_44…