例行检查 没有开启nx保护,考虑用shellcode来做这道题 程序放入ida查看 我们可以输入48个字符覆盖0使printf打印出bp的值 继续看这里,buf的大小实际上只有0x38的大小,但是read却可以输入0x40个字符所以存在溢出 查看dest的位置,dest就在buf的下面,所以我们可以通过溢出将free_got的值溢出到这里,在通过strcpy使free_got指向shellcode拿到shell 完整exp如下 注:offset是ebp到shellcode的偏移 \x00是str…