CTF/리버싱

[angstromCTF] Revving Up - 리버싱 / argument

SecurityMan 2022. 3. 14. 22:27

아주아주 쉬운 리버싱 문제

사실 리버싱 문제인지도 잘 모를만큼 쉽다..

352명이나 푼 걸보면 얼마나 쉬운 문제인지 감이 올것이다.

문제 설명을 보면 clam이라는 사람이 사이버보안학교에서 첫번째 리버싱 강의에서 만든 프로그램이라고 한다.

이 프로그램에서 플래그를 얻어내면 되는 문제이다.


문제파일이 하나 주어진다. revving_up 이라는 파일인데 확장자는 따로 보이지 않는다.
 
대부분 해킹대회에서 주어지는 이런 바이너리파일의 경우 리눅스 환경에서 실행할 수 있는 것이다.


리눅스 쉘에서 프로그램이 있는 경로로 이동한 뒤,
 
./revving_up 이라고 치면 프로그램이 실행된다.
 
실행시키면 문구가 몇가지 나오는데
Cougratulations on running the binary!
Now there are a few more things to tend to.
Please type "give flag" (without the quotes).

라는 말이 가장 먼저 나온다.

시킨대로 give flag 라고 커맨드라인에 입력한 뒤 엔터를 치면

Good job!
Now run th program with a command line argument of "banana" amd you'll be done.

잘했다면서 이번에는 argument로 banana 라는 값을 넣어서 프로그램을 실행시키라고 한다.

argument 라는 것은 전달 일자를 의미한다.

어떤 함수가 호출될 때, 그 함수로 전달해주는 값이 argument 이다.

프로그램을 실행시킬때 argument를 넣으라고 했으니

이렇게 프로그램을 실행시킬때
 
./revving_up banana 같은 방식으로
 
프로그램 이름 뒤에 원하는 argument 를 넣어주면 된다.
 
프로그램이 실행되고, 다시한번 give flag 를 입력하면 
 
플래그가 나오는것을 볼 수 있다.
 
반응형
반응형