[DreamHack] [Pwnable] bof

사실 포너블은 오래간만이라 뭘 고를지 꽤 고민을 많이했다.

간단한 BOF부터, Return To Library, Return-Oriented Programming, Format String 등등

Exploit 해법들이 기억이 새록새록 날 듯 말듯 해서 더더욱 고민이 길었던 것 같다.

아무래도 오래간만의 포너블이니까 그래도 초반에는 쉬운 난이도를 골라야 하지 않나 싶어서 간단한 것으로 골랐다.

image.png

취약점 분석

잡담은 여기까지 하고, 바로 문제 풀이로 넘어가겠다.

앞으로 시스템 해킹에 사용할 환경은 여태까지 그래왔고, 늘 그랬었고, 앞으로도 그럴 것인 Ubuntu 22.04 이다.

image.png

일단, nc를 통해 시스템에 접근해보면 처음 입력을 1회 받는다.

이후, 고양이가 나오고 내가 입력한 값을 공백 전까지 출력해서 보여준다.

이것만 봐도 벌써 출력 부분에 bof를 이용해 flag를 출력시킨다거나,

입력부분에 shellcode를 넣어 쉘 권한을 가져온다던가 하는 Exploit 방법이 떠오른다.

일단, 첨부파일인 bof를 확인해보겠다. 바이너리 파일이기 때문에 당연히 GDB로 확인해야한다.

image.png

그 전에, checksec을 통해 어떤 보안 기법이 적용되어 있는지 임시로 확인해보겠다.