728x90

파일을 실행시키면 위처럼 진행된다. 해당 파일을 ida로 열어보면

main함수이다.



1번 add_note 함수이다.


show note에서 format string bug 취약점이 의심된다.

Show_note &ptr에서 fsb를 발생시킬 수 있는데 이 &ptr은 buf add_note에서 볼 수 있다.


add_note함수에서 입력값이 candidate2함수에 들어가면

v2 즉 content에 입력한 값이 &ptr로 들어간다.


add_note에 %x를 30개 저장하고 show_note를 실행하면 스택의 내용들이 나온다.


위내용을 보기위해 gdb로 열어봤다.

스택 영역을 잘 분석하면 %x로 14번째에 0xffffd048이 박혀있고, 0xffffd048은 22번째를 가리키고 있다. 이를 통해서 쉘을 얻을 수 있다.

14번째에 printf의 got를 입력하고 22번째에 shell 주소를 넣어주면 된다.

14번째의 printf got -> 0x0804b010

22번째 system("/bin/sh") -> 0x8048a37


쉘획득


system("/bin/sh")이 바이너리 안에 존재해서 쉽게 풀 수 있었다.

728x90

'CTF_writeup > 2018' 카테고리의 다른 글

PCTF_2013_ropasaurusrex  (0) 2018.12.22
MMA-CTF-2-greeting  (0) 2018.12.22
Trustealth CTF easy  (0) 2018.12.22
ISITDTU_CTF_dead_note_lv1  (0) 2018.12.22
ISITDTU CTF_xoxopwn  (0) 2018.12.22

+ Recent posts