1. Source Code

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/00e7b0a7-9548-4dc2-a406-209d59c4a0a0/Untitled.png

이번 문제로 더 이상의 소스코드는 없다. 다음 문제부터 binary file만 주어진다.

2. 필요 역량

  1. netcat
  2. python shell
  3. binary file 리버싱
  4. assembly 해석

3. Write-up

우선, 해당 바이너리 파일을 다운 받고, lldb를 사용해서 해당 바이너리의 Assembly 파일을 확인해보았다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a0b0e5d6-f3b0-446e-8719-6d51277f4056/Untitled.png

'dissassemble --name mian' 이란 명령어로 main 함수를 살펴보았다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/96cffe9e-e8d2-4515-9ea8-a41abba17a9b/Untitled.png

여기서 0x62c 의 주소에 있는 함수를 call하고 있다는 것을 알고 다음과 같이 명령어를 쳐 func함수의 어셈블리 코드를 보았다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/302e56f6-f885-44a2-b0a8-73742451bc89/Untitled.png