-
[Pwn] g++ pwnCTF write_up/Hack CTF 2019. 9. 24. 00:29
파일을 실행해 보겠습니다.
checksec 명령어로 보호기법 및 파일의 비트를 확인하겠습니다.
32bit 이면서 딱히 보호기법을 인지 할 필요는 없는것 같습니다.
IDA 32bit으로 열어보겠습니다.
vuln함수의 디컴파일 코드인데, 특별히 보이는 문자열및 함수를 체크해 봤습니다.
s변수의 크기는 아래와 같이 0x3C입니다. 0x3C == 60
변수의 크기는 60인데 입력은 32 만 받기 때문에 일반적인 방법으로는 RET 를 덮지 못할 것 같습니다.
replace 변수가 있는데 "I" 를 "you"로 변환 시킵니다.
그러면 I를 21개 넣고 A 한개를 넣으면 s[60]+SFP[4] 인 64를 가뿐히 덮을 수 있습니다.
그리고 함수를 보시면 get_flag 라는 함수가 있어서 ret에 주소를 넣으면 될 것 같습니다.
0x08048F0D 입니다.
exploit code를 작성해 보겠습니다.
Flag : HackCTF{It's_e4si3r_th4n_y0u_th1nk!}
'CTF write_up > Hack CTF' 카테고리의 다른 글
[Pwn] Beginner_Heap (0) 2019.09.24 [Pwn] Poet (0) 2019.09.24 [Pwn] BOF_PIE (0) 2019.09.24 [Pwn] Offset (0) 2019.09.24 [Pwn] x64 Simple_size_BOF (0) 2019.09.24