write-up/pwnable

[HackCTF] Basic_BOF #1

여니두 2019. 10. 4.

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

댓글