Wargame/bandit

[리눅스] Bandit Level 2 -> Level 3

핏디 2021. 4. 3. 22:05
SMALL

 


[문제]

다음 레벨을 위한 password는 홈디렉토리 아래에 존재하는 파일에 있다고 하는데요.

그런데, 파일 이름에 공백을 포함하고 있어 어떻게 읽어야 할 지 알아보아야 할 것 같네요.

 

바로 시작하겠습니다!


[풀이]

이젠 접속 방법에 대해서는 생략해도 되겠죠?ㅎㅎ

앞선 단계에서 구한 password를 통해 shell에 접속해줍니다.

 

 ls -al 명령어로 파일과 디렉토리 목록을 확인하니 spaces in this filename 라는 이름을 가진 파일을 볼 수 있었는데요.

이 파일을 읽어야 할 것 같습니다.

 

​접속한 bandit2 계정으로는 역시나 읽기 권한만 있네요.

바로 읽어보도록 하겠습니다.

 

그. 런. 데. 

읽어 보셨나요?!

이렇게 평소에 쓰던 형태로 입력하게 되면 그런 파일이 없다고 에러가 발생하는데요..

리눅스에서는 공백을 기준으로 구분을 하기 때문에 spaces in this filename 을 그대로 입력하게 되면,

우리가 생각했던 spaces in this filename 이라는 하나의 파일이 아니라

1. spaces 파일

2. in 파일

3. this 파일

4. filename 파일

이렇게 구분해버린답니다.

 

흠.. 파일 이름에 공백이 존재할 경우 어떻게 해야 파일을 읽을 수 있을까요?!

이번에도 두 가지의 방법으로 해결할 수 있답니다!

1번째는 "" (큰따옴표)를 이용하는 방법

2번째는 \(역슬래시)를 이용하는 방법이 있습니다.

 

 

1번째 방법부터 말씀드리도록 하겠습니다.

 

1. "" (큰따옴표)를 이용하는 방법

큰 따옴표는 묶는 역할을 하는데요. "" 속에 파일 이름을 넣어주면 하나로 인식하게 되는 효과가 있답니다!

이렇게 사용하면 파일 이름에 공백이 존재하더라도 spaces in this filename을 하나로 인식하기 때문에 원하는 결과를 얻을 수 있겠죠?!

 

 

2. \(역슬래시)를 이용하는 방법

 

역슬래시는 리눅스에서 다양한 역할을 수행하는데요.

현 문제에 맞는 역할을 찾아보자면!

특수 문자를 인식하는 역할이라고 말씀드릴 수 있겠습니다.

현재 문제에서 \공백의 형태를 사용하게 되면, 단어 사이에 공백이 있다는 것을 쉘에게 알려줄 수 있게 됩니다.

 

 

아! 참고로 리눅스 터미널에서 입력하고자 하는 부분의 일부만 입력한 후 tab키를 눌러주면 자동완성 기능을 수행하게 되는데요!

위의 예제로 살펴보면 sp까지만 입력하고 tab을 입력하면 spaces\ in\ this\ filename 를 자동으로 완성시켜 준답니다!

그래서 따로 역슬래시나 큰따옴표를 직접 입력하지 않아도 자연스럽게 역슬래시를 입력한 공백처리가 되었습니다.

소소한 tip 이었습니다 ㅎㅎㅎ 

 

이렇게 두 가지의 방법으로 파일 내용을 읽어올 수 있답니다~~

 

이번에도 ~~~~~~~~~~~~~~

성! 공!

 

다음 level에서 만나요~


[핵심]

<띄어쓰기 된 파일명 읽는 법>

1. "space in this filename"

> 따옴표로 문자열을 묶어준다.

2. space\ in\ this\ filename

> 띄워쓰기 된 부분에 \를 넣어준다.

> \ 뒤에 띄워쓰기를 그대로 진행해야 한다.

 


[출처]

 

m.blog.naver.com/PostView.nhn?blogId=jgs135&logNo=110100364981&proxyReferer=https:%2F%2Fwww.google.co.kr%2F

 


 

LIST

'Wargame > bandit' 카테고리의 다른 글

[리눅스] Bandit Level 4 -> Level 5  (0) 2021.04.03
[리눅스] Bandit Level 3 -> Level 4  (0) 2021.04.03
[리눅스] Bandit Level 1 -> Level 2  (1) 2021.04.03
[리눅스] Bandit Level 0 -> 1  (0) 2021.04.03
[리눅스] Bandit Level 0  (0) 2021.04.03