https://dreamhack.io/wargame/challenges/351
워게임 Return Address Overwrite를 풀어보았다.
-
문제 파일을 다운로드하고 압축을 풀었더니 rao와 rao.c라는 파일이 있었다.

-
터미널을 실행시켜 파일의 폴더로 이동하였다.
-
cat rao.c를 통해 rao.c 소스코드를 열어보았다.

- scanf()를 통해 입력을 받고 있어서 버퍼 오버플로우 공격이 가능하다.
- get_shell() 함수에서 쉘을 띄어줄 수 있다.
- gdb로 어셈블리어 코드를 확인한다.

어셈블리어 코드
- 버퍼 오버플로우를 해서 flag를 얻어야 한다.
- buf에 0x30+0x8bytes의 임의의 문자와 0x8bytes의 return address를 입력하면 <+65>의 ret 실행 시 입력한 return address로 jump할 것이다.



