OverTheWire: Bandit 파일 읽기 (Level 1 → Level 2)

Fordsec·2023년 1월 8일


1. Level1에서 Level2로 넘어가는 문제이다.

2. ls 커맨드로 -(대쉬)가 있음을 알 수 있다.

3. 지난번에 사용한 cat 커맨드로 -를 읽어보려고 했더니 아무것도 안나온다.

아무거나 aaa, 123을 입력했더니 입력한 값을 그대로 출력할 뿐이다.

-(대쉬)의 파일이 읽혀지지가 않는다.

-(대쉬) 이것은 어떤 명령어를 쓸때 옵션으로 사용된다.

4. 그래서 명령어 뒤에 -를 쓰면 이 프로그램이 무슨 옵션을 쓸려고 하는건가? 라고 생각할 수 있다.

그리고 보통 명령어 뒤에 -만 쓰게 되면 Standard Input/Output 으로 인식하게 된다.

vi -도 사용자로부터 입력을 받는 구나 이렇게 이해하고 있는 것이다.

5. 그러면 cat -를 입력하고 aaa, 123은 왜 이러한 현상이 발생했느냐?

6. man cat을 입력하여 cat에 대하여 살펴보자

7. 파일을 연결하고, standard output으로 출력한다.

즉, 우리가 보고 있는 터미널에 파일의 내용을 출력하거나 어떤 내용을 보여지게 만드는 명령어이다.

8. 그래서 cat하고 /etc/passwd 라는 파일 이름을 넣으면 이 파일이 화면에 보여지는 것이다.

9. cat하고 -만 넣으면 -이게 스탠다드 인풋 사용자의 입력이다.

10. aaa를 입력하면 aaa가 다시 보이게 되었던 것이다.

그러면 이제 왜 -(대쉬)만 썼을때 이러한 동작이 이루어 졌는지 이해를 할 수 있다.

그렇다면 어떻게 -(대쉬)가 파일 이름이라는걸 알려줄 수 있을까?

이럴경우에는 풀 경로를 적어주면 된다.(전체경로)

11. 지금 같은 경우 pwd로 현재 디렉토리가 /home/bandit1이다.

12. 요렇게 써주게 되면, 요 -(대쉬)만 써주게 되면 문제가 되는데 앞에 /home/bandit1 이라는 경로 안에 적어 주었으니까 -(대쉬)는 파일 이름으로 이제 인식을 하게 되는 것이다.

home에 bandit1에 있는 -라는 파일이다.

그래서 엔터를 눌러보면 저렇게 파일을 읽을 수 있게 되는 것이다.

이렇게 절대경로로 넣어줘도 되지만, 상대경로로도 표현할 수 있다.

13. cat ./- 이렇게 현재 경로에 있는 -(대쉬)라는 파일의 내용을 읽어 볼 수 있다.

14. 이제 이 패스워드가 맞는지 알아보기 위해 exit로 로그아웃 해주고

15. ssh를 bandit2로 지정해준뒤 접속을 시도해준다.

16. 잘 된것을 볼 수 있다.

https://youtube.com/@Certa6

제 유튜브 채널입니다.
도움이 됐다면, 구독 부탁합니다!
주변에 제 블로그, 유튜브를 알려주시면 감사하겠습니다~! :)

Thank you for watching the blog.
Please subscribe! I would appreciate it if you could share the blog around you.

profile
Penetration Tester | ROK NIS 2025 APEX | ROKAF CERT

0개의 댓글