Wargame & CTF/Pwnable

[HackCTF] 내 버퍼가 흘러넘친다!!! (150) write-up

m3r0n4 2020. 7. 21. 16:35

4번째 문제인 버퍼가 흘러넘친다는 문제이다.

먼저 파일을 받아 어떤 보호기법이 적용되어있는지 보도록 하자.

오잉? 아무 보호기법도 적용되어 있지 않다. 그러면 쉘코드를 사용할 수 있다는 말인데...

일단 IDA로 까보도록 하자.

read 함수로 name변수에 값을 받아오고, gets 함수로 v4에 인풋값을 받아오는 것을 알 수 있다. name의 영역을 먼저 살펴보면, 

보이는가? name은 bss영역에 존재하는 것을 알 수 있다. 그러면 shellcode를 name에 넣어 주고, 밑의 인풋값에서 버퍼 오버플로우를 한 뒤 name의 영역에 있는 쉘코드를 불러와주면 될 것이라는 것을 알 수 있다. 익스플로잇 코드는 아래와 같다.

실행해 보면,

성공적으로 익스플로잇이 된 것을 알 수 있다.