OverTheWire: Bandit - Level 1 → Level 2

full_accel·2020년 12월 6일
0

Over The Wire: Bandit

목록 보기
4/9
post-thumbnail

Bandit Level 1 → Level 2 - 문제 원문


https://overthewire.org/wargames/bandit/bandit1.html
Level Goal
The password for the next level is stored in a file called - located in the home directory

Commands you may need to solve this level
ls, cd, cat, file, du, find

Helpful Reading Material
Google Search for “dashed filename”
Advanced Bash-scripting Guide - Chapter 3 - Special Characters

해석


  • 패스워드는 -라는 파일에 저장되어 있다.
  • - 파일은 홈 디렉토리에 있다.

공략


이번 단계도 어렵지 않다.

bandit1@bandit:~$ ls
-
bandit1@bandit:~$ file -
^C

bandit1@bandit:~$ cat -
^C

bandit1@bandit:~$ file ./-
./-: ASCII text
bandit1@bandit:~$ cat ./-
C??????????????????????????????
bandit1@bandit:~$
  • 일단 시작부터 홈 디렉토리 ~ 이다. 다른 곳으로 이동할 필요가 없다.
  • 현재 경로를 확인해 보니 - 라는 파일이 있다.
  • file -로 찍어 보니 아무것도 나오지 않는다.
  • cat -으로 열어봐도 아무것도 나오지 않는다.
  • 아무래도 - 이라는 문자가 리눅스에서 예약된 특수문자라 file, cat에서 인자로 넘겨받지 못하는 것으로 보인다.
  • 현재 경로에 있는 파일을 의미하는 ./ 를 사용하기로 한다.
    • file ./- 로 찍어보니 ASCII text 파일이다.
    • cat ./- 로 열어보니 key file처럼 생긴 텍스트가 보인다.

다음 단계로 넘어가자
ssh -p 2220 bandit2@bandit.labs.overthewire.org

TMI


- 의 의미

  • - 는 리눅스 명령어에서 옵션을 지정할 때 자주 사용된다.
  • ex) ls 명령어에 옵션으로 -A를 주어서 현재 경로의 ., ..을 제외한 모든 파일을 출력할 수 있다.
bandit1@bandit:~$ ls
-
bandit1@bandit:~$ ls -A
-  .bash_logout  .bashrc  .profile
bandit1@bandit:~$
  • cat - 이라고 입력하면 리눅스는 사용자가 옵션을 넣다가 만 것으로 인식한다.
    • -를 명령어 자신이 넘겨받는 인자가 아니라 옵션 앞에 오는 문자로 인식한다.
    • cat ./- 이라고 입력하면 현재경로./에 있는 파일 -을 인자로 받을 수 있다.

./ 의 의미

  • ./는 리눅스에서 현재 경로를 의미한다.
  • 현재 경로에 readme 라는 파일이 있다면, cat readmecat ./readme 나 일단 동일하게 동작하나 cat ./readme는 명시적으로 현재 디렉토리의 readme 파일에 대해 cat을 실행하라는 의미이다.

명령어 옵션 확인하는 방법

  • 명령어 --help 로 명령어의 옵션을 간단히 확인할 수 있다.
bandit1@bandit:~$ cat --help
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

  -A, --show-all           equivalent to -vET
  -b, --number-nonblank    number nonempty output lines, overrides -n
  -e                       equivalent to -vE
  ...
  • man으로 명령어의 옵션을 아주 자세히 확인할 수 있다.
bandit1@bandit:~$ man cat

profile
스스로 배운 것이 오래 간다.

0개의 댓글