先查看开了什么保护,什么都没有

1

再用ida打开查看

2

gets函数是危险函数

从gets函数开始栈溢出,因为要返回到拿权限的位置,现在去找拿权限的位置

3

第一行是引用pwn的函数库

第二行是连接服务器

第三行是数据流,因为gets v5的空间大小是64,又因为是64位的程序,所以要加上8位

计算偏移地址第二种方法:使用gdb-peda

1

先输入:pattern creat 200

生成200数据

2

在输入:

contin

把之前生成的数据粘贴上去

3.5

找到RBP寄存器

3

把后面的字符串复制下来

输入:pattern offfset XXXXXXXX

i

得到了偏移量

构造playload时,直接与系统调用地址相加就可

第四行是发送数据,进行攻击

5

拿到flag

5