WAR GAME/Bandit

[OverTheWire: Bandit] level2 -> level3

jir4vvit 2020. 2. 22. 21:35

사용 툴: cygwin

 

1) 문제

level2 -> level3 문제

패스워드는 홈디렉터리의 spaces in this filename 파일에 들어있다고 한다.

 

 

2) 문제풀이

 

일단 bandit3의 패스워드를 얻기 위해서 bandit2의 계정으로 로그인을 한다.

cat 명령이 실패한 모습

bandit2의 홈디렉터리에 spaces in this filename 파일이 보여서 cat 명령으로 파일 내용을 읽으려고 했으나 실패한 모습이 보인다.

 

그 이유는 띄어쓰기 때문이다.

띄어쓰기 때문에 spaces, in, this, filename 이렇게 4개의 파일로 착각해서 읽으려고 한다.

 

 

문제풀이-1

cat ./*을 통해 패스워드를 획득한 모습

일단 file 명령어를 통하여 홈디렉터리의 파일들이 무슨 타입인지 알아보자.

ASCII text라고 했으니까 cat으로 파일을 읽을 수 있다.

그래서 위와 같이 cat ./*으로 파일을 읽을 수 있었다.

 

 

문제풀이-2

tab키로 파일명 찾기

또는 간단하게 s만 누르고 tab키를 이용하여 바로 파일명에 접근할 수 있다.

위에서 볼 수 있듯이 리눅스에서는 역슬래쉬로 띄어쓰기를 표현한다는 것을 알 수 있다.

 

 

문제풀이-3

""으로 파일명을 감싼 모습

마지막으로 " "으로 파일명을 감싸서 파일을 읽은 것을 볼 수 있다.

 

 

이렇게 세 가지의 방법으로 파일명에 띄어쓰기가 있을 때 처리하여 패스워드로 추정되는 문자열을 획득하였다.

 

 

bandit3로 로그인에 성공해 확인해보니 저 문자열이 bandit3의 패스워드가 맞다는 것을 확인할 수 있었다.

ssh -p 2220 bandit3@bandit.labs.overthewire.org
id