Wargame/HackCTF

Basic_BOF#2 Write-Up

LikeMermaid 2021. 9. 8. 22:28
728x90

1. Basic_BOF#2

1.1 파일 분석

- file 명령어로 bof_basic2 파일의 종류를 확인해보니 32bit ELF 파일임

 

- bof_basic2 파일을 실행해보니 어떤 값을 입력하던 하아아아아아아아아앙 을 출력함

 

- ida에서 함수목록을 확인해보니 shell 함수가 존재하는 걸 확인할 수 있음

 

- shell 함수를 ida로 확인해보니 /bin/bash를 실행해주는 함수이며 shell 함수를 실행시키는 것이 이 문제의 목표임

 

- main 함수에서 문자형으로 128bytes를 s함수에 할당해주었지만 fgets함수에서 128을 넘어선 133의 크기를 입력할 수 있는 버퍼오버플로우 취약점으로 보이는 코드가 존재함

 

1.2 poc

- 5번째 줄 : remote로 워게임 서버에 접속하기 위한 코드

- 7번째 줄 : 해당 프로그램의 함수 주소를 쉽게 사용할 수 있도록 해주는 코드

- 10번째 줄 : 문자형으로 선언된 s변수의 128bytes를 덮기 위한 코드

- 11번째 줄 : 32비트 환경에서 사용할 수 있는 shell 함수의 주소를 대입하는 코드

- 13번쨰 줄 : payload 코드를 확인하기 위한 출력문 코드

- 15번째 줄 : payload에 담긴 값을 대상 서버에 전송하는 코드

- 17번째 줄 : 대상과 지속적으로 통신하기 위한 코드

 

1.3 결과

- 위에 작성한 코드(poc)로 flag를 따낼 수 있었음

'Wargame > HackCTF' 카테고리의 다른 글

ROP Write-Up  (0) 2021.09.30
RTL_World Write-Up  (0) 2021.09.19
x64 Simple_size_BOF Write-Up  (0) 2021.09.16
내 버퍼가 흘러 넘친다!!! Write-Up  (0) 2021.09.16
x64 Buffer Overflow Write-Up  (0) 2021.09.08