wargame/bandit

Bandit1 ~ Bandit6 문제 풀이

seungwon9201 2024. 6. 21. 19:28

Bandit1 → Bandit2

 

-문제-
다음 단계로 가는 패스워드는 home 디렉터리 안에 있는 - 라는 파일 안에 저장되어 있다.

 

풀이방법 : cat명령어로 home 디렉터리 안에 있는 - 파일을 출력하자.

 

ls 명령어로 - 파일을 확인 후 cat 명령어를 사용했으나 이러한 방법은 잘못된 방법이다.

'cat - '명령어는 터미널에서 입력한 내용을 출력하기 때문이다.

 

해결방법으로 파일의 경로를 지정하자.

이렇게 현재 디렉터리에 있는 - 라는 파일을 출력하겠다는 식으로 바꿔주면 정상적으로 비밀번호가 출력이 된다.


Bandit2 → Bandit3 

 

-문제-
다음 단계의 비밀번호는 home디렉터리 안에 있는 spaces in this file name에 저장되어 있다.
풀이방법 : cat 명령어로 spaces in this file name 출력하자.

기존의 파일들은 하나의 단어로 끝났지만 이번 문제는 파일의 이름에 공백이 들어가 있는 상황이다.

파일의 이름을 하나로 묶을 방법이 필요하다.

이처럼 큰따옴표를 이용해서 묶고 cat 명령어로 출력하면 비밀번호가 나온다 !


Bandit3 → Bandit4

-문제-
다음 단계로 가는 패스워드는 inhere 디렉터리 안에서 숨겨진 파일 안에 있다.
풀이방법 : 숨겨진 파일을 찾아내서 출력하자.

inhere디렉터리 안에 ls를 입력해도 파일이 숨겨져 있어서 보이지 않는다.

ls -a 명령어를 이용해서 숨겨진 모든 파일을 찾아보자.

...Hiding-From-You 라는 파일이 보인다 !

이제 cat 명령어로 저 파일을 출력하자.

이렇게 패스워드를 찾을 수 있다.


Bandit4 → Bandit5

-문제-
다음 단계로 가는 패스워드는 inhere 디렉터리 안에 오직 human-readable한 파일로만 저장되어 있다.
풀이방법 : human-readable한 파일을 찾아서 출력하자.

여기 10개의 file 중에서 어떤 것이 human-readable한 파일일까?

파일의 정보를 확인하기 위한 명령어 file을 사용하자.

이 처럼 현재 디렉터리인 inhere에서 모든 파일에 대한 정보를 얻자.

-file07번 파일만이 ASCII 기반인 것을 확인할 수 있다. 

이제 저 파일을 출력하자.

이 처럼 패스워드를 찾을 수 있다.


Bandit5 → Bandit6

-문제-
다음 단계로 가는 패스워드는 inhere 디렉토리 아래 어딘가에 저장되어 있다. 또한 그 파일은 다음과 같은 특징들을 가지고 있다. 
human-readable, 1033 bytes, 실행 불가능
풀이방법 : 1033 바이트 크기의 파일을 찾자

여기서 1033 바이트 크기인 파일을 찾기 위해서 find 명령어를 사용하자.

 

 

find 명령어는 아래와 같이 사용할 수 있다.

find [시작경로] [조건] [작업]

 

fine ./ -size 1033c를 입력하면 현재 경로의 size가 1033인 파일을 찾을 수 있다.

그런데 왜 1033 뒤에 c가 붙을까?

뒤에 붙은 숫자가 1033 byte인지 1033 kb인지 알 수가 없기 때문에 구별하기 위해서 붙여준 거다.

 

  • c: 바이트(byte)
  • k: 킬로바이트(kilobyte)
  • M: 메가바이트(megabyte)
  • G: 기가바이트(gigabyte)

 

그래서 cat 명령어로 비밀번호를 출력하자.