[Bandit-OverTheWire] Level 2 -> Level 3
두비니
·2020. 9. 17. 15:29
다양한 방법으로 풀어보겠습니다.
1. tab(자동완성) 이용하기
리눅스에서 일정 파일 이름을 치고 tab키를 누르면 디렉토리 안에 있는 파일 이름으로 자동완성됩니다. 따라서 spa까지 치고 tab을 치면 자동으로 파일이름을 완성시켜주기 때문에 이걸 가지고 풀 수 있습니다.
bandit2@bandit:~$ ls
spaces in this filename
bandit2@bandit:~$ cat spaces\ in\ this\ filename
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
1-2. \(역슬래시) 이용하기
사실 1번이랑 같아서 1-2로 뺐는데, 이 문제를 기본적인 지식으로 풀 수 없는 이유가 기본적으로 리눅스는 스페이스를 기준으로 명령어를 나누기 때문에 파일 이름을 cat spaces in this file name같이 실행시킬 수 없습니다.
이건 그냥 간단히 c언어에서처럼 스페이스 앞에 \(역슬래시)를 붙여서 실행시키면 됩니다.
bandit2@bandit:~$ ls
spaces in this filename
bandit2@bandit:~$ cat spaces\ in\ this\ filename
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
2. ""(큰따옴표) 쓰기
이거 그냥 큰따옴표로 싸서 보내도 됩니다. 별다른 설명이 필요없어서..
bandit2@bandit:~$ cat "spaces in this filename"
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
그냥 궁금해서 작은따옴표도 해봤는데 잘 되네요.
bandit2@bandit:~$ cat 'spaces in this filename'
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
3. 와일드카드 쓰기
일단 와일드카드라는걸 알아야겠죠? 밑에 글 잘 보면 와일드카드에 대해서 잘 설명되어있습니다.
근데 사실상 제일 많이 쓰이는거는 특정 문자열 뒤에 *(문자열 와일드카드)를 붙여서 작성하는 방식입니다.
예를 들어서 다음과 같이 사용합니다.
dubini0@ubuntu:~$ ls test*
test1 test2 test3 test.py
dubini0@ubuntu:~$ rm test*
dubini0@ubuntu:~$ ls test*
ls: cannot access 'test*': No such file or directory
test관련된 파일들이 다음과 같이 있으면, rm test* 의 뜻은 test로 시작하는 파일들을 모두 삭제하라는 뜻입니다. 따라서 ls test* 로 test로 시작하는 파일들을 찾았을 때, 아무런 파일을 찾을 수 없는 것 또한 확인할 수 있습니다.
그래서 아무튼 결론은
bandit2@bandit:~$ cat spa*
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
와! 이렇게 하면 잘 된다는거
password : UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
'War Games > Bandit - OverTheWire' 카테고리의 다른 글
[Bandit-OverTheWire] Level 5 -> Level 6 (0) | 2020.09.18 |
---|---|
[Bandit-OverTheWire] Level 4 -> Level 5 (0) | 2020.09.18 |
[Bandit-OverTheWire] Level 3 -> Level 4 (0) | 2020.09.17 |
[Bandit-OverTheWire] Level 1 -> Level 2 (0) | 2020.09.09 |
[Bandit-OverTheWire] Level 0 -> Level 1 (0) | 2020.09.09 |