write-up/pwnable
[HackCTF] Basic_BOF #1
bof_basic 파일은 32bit의 ELF 파일.
- ELF(Executable and Linkable Format): 실행 파일, 목적 파일, 공유 라이브러리, 코어 덤프를 위한 표준 파일 형식.
유닉스 계열 시스템들의 표준 바이너리 파일 형식으로 선택됨.
IDA에 던져보았다.
fgets()로 s에 45byte 입력받는다.
v5의 값이 0xdeadbeef면 쉘을 딸 수 있는 것 같다.
어셈블리를 보자.
- main+14> 스택에 0x34(=52byte)만큼 할당받음
- main+70> [ebp-0xc] = v5
우리가 변조할 v5는 v5의 값을 printf()하는 저기일 것이다. 12byte만큼 ebp에서 떨어져 있음을 알 수 있다.
40byte |
v5[4] |
~~~ |
SFP |
RET |
대충 이렇게 예상해볼 수 있다.
완료!
이전에 풀던 ftz, LOB 등과는 달리 바이너리 파일만 띡 던져줘서 당황했지만
풀게 돼서 기쁘다!!!
'write-up > pwnable' 카테고리의 다른 글
[HackCTF] Basic_FSB (0) | 2019.10.04 |
---|---|
[HackCTF] Basic_BOF #2 (0) | 2019.10.04 |
[pwnable.kr] cmd1 (0) | 2019.09.29 |
[pwnable.kr] mistake (0) | 2019.09.29 |
[pwnable.kr] input (0) | 2019.09.29 |
댓글