N00bCTF - Over the RET Write-up

CTF 중점 스터디

2019. 11. 10. 19:21

바이너리 파일을 다운로드한다.

다운로드한 바이너리 파일을 살펴보녀 32-bit ELF 파일이고, 메모리 보호 기법으로는 NX bit가 걸려있는 것을 확인할 수 있다.

gdb를 통해 main 함수를 디스어셈해보면, main 함수에서 0x116d56d를 인자로 vuln라는 함수를 호출하는 것을 볼 수 있다.

이 vuln함수를 디스어셈해보면, gets 함수를 통해 사용자의 입력을 받고 있다( Buffer Overflow 발생 ).
그리고, ebp+0x8( 인자로 전달받은 값 )이 0xbfb416이면 /bin/sh를 인자로 system 함수를 호출하고 있다( Buffer Overflow를 통해 인자의 값을 0x116d56d에서 0xbfb416으로 바꾸어주면 Shell을 실행시킬 수 있다 ).

더미값으로 64( buf ) + 8( ebp에서 vuln함수의 인자까지의 거리 )를 전송한뒤 0xbfb416를 전달하면 Shell이 실행된다.

 

Written by choi_jiung

'CTF 중점 스터디' 카테고리의 다른 글

Reversing.kr - Easy Keygen Write up  (0) 2019.11.12
Newbie CTF REC Write up  (0) 2019.11.11
Wargame.kr_db is really good_Write up  (0) 2019.11.03
Newbie CTF_babypwn 풀이_정세인  (0) 2019.11.03
N00bCTF - very ezzzzzz!! Write up  (0) 2019.11.03