2023.11.16 - [워게임/Bandit (Linux 초보자들을 위한 워게임)] - [OverTheWire:Bandit] Level 7 → Level 8
Bandit Level 8
컴퓨터의 사용자 이름( 계정명 ): bandit8
호스트(접속해야 할 주소):bandit.labs.overthewire.org
포트 번호: 2220
비밀번호: TESKZC0XvTetK0S9xNwm25STk5iWrBvP (2023.11 기준)
bandit8 계정으로 서버에 접속하겠습니다.
PS> ssh bandit8@bandit.labs.overthewire.org -p 2220
문제 및 해설
다음 단계로 가기 위한 비밀번호는 data.txt 파일에 저장되어 있으며 수많은 내용들 중 유일하게 하나만 발생(존재)하는 문장이라고 합니다.
$ cat data.txt
여기서 어떻게 중복되는 문장들을 거를 수 있을까요?
먼저 리눅스 명령어인 sort
와 uniq
에 대해 설명하겠습니다. 각각 명령어는 데이터를 정렬하고 중복된 값을 제거하는 데 사용됩니다.
sort
sort
명령어는 텍스트 파일이나 스트림의 데이터를 정렬하는 데 사용됩니다.- 기본적으로는 각 행을 알파벳 순으로 정렬합니다.
- 사용 예시:
$ sort file.txt
uniq
uniq
명령어는 중복된 행을 찾아내고 제거하는 데 사용됩니다.- 주로 정렬된 데이터에 사용하여 중복된 값을 찾습니다.
- 사용 예시:
$ uniq file.txt
sort + uniq
sort
와uniq
를 함께 사용하여 중복된 값을 제거하고 정렬된 결과를 얻을 수 있습니다.- 사용 예시
$ sort file.txt | uniq # 이 명령은 file.txt의 내용을 정렬하고, 그 후에 uniq로 중복된 행을 제거합니다
- sort와 uniq의 옵션
sort
와uniq
명령어는 각각 다양한 옵션을 가지고 있어 다양한 상황에 맞게 조합하여 사용할 수 있습니다. 예를 들어,sort
는-n
옵션을 사용하여 숫자를 기준으로 정렬하고,uniq
는-c
옵션을 사용하여 각 행의 등장 횟수를 함께 출력할 수 있습니다.
따라서, sort
와 uniq
명령어를 조합하여 사용하면 중복을 제거하고 정렬된 결과를 얻을 수 있습니다.
이제 이를 잘 조합해서 본인만의 정답을 낼 수 있습니다.
제가 낸 정답을 찾기 위한 명령어는 다음과 같습니다.
$ sort data.txt | uniq -c
위 결과처럼 모든 문장들이 10번씩 나오는데 반해 EN632PlfYiZbn3PhVK3XOGSlNInNE00t 는 1번만 나옵니다. 따라서 이게 우리가 찾는 비밀번호임을 알 수 있습니다.
Level 9 접속정보
컴퓨터의 사용자 이름( 계정명 ): bandit9
호스트(접속해야 할 주소):bandit.labs.overthewire.org
포트 번호: 2220
비밀번호: EN632PlfYiZbn3PhVK3XOGSlNInNE00t (2023.11 기준)
bandit Level 9로 가기 위한 비밀번호: EN632PlfYiZbn3PhVK3XOGSlNInNE00t
마지막으로 exit 명령어를 입력하여 서버에서 bandit8 계정을 로그아웃 하겠습니다.
'워게임 > Bandit (Linux Wargame)' 카테고리의 다른 글
[OverTheWire:Bandit] Level 10 → Level 11 (1) | 2023.11.19 |
---|---|
[OverTheWire:Bandit] Level 9 → Level 10 (0) | 2023.11.18 |
[OverTheWire:Bandit] Level 7 → Level 8 (0) | 2023.11.16 |
[OverTheWire:Bandit] Level 6 → Level 7 (0) | 2023.11.15 |
[OverTheWire:Bandit] Level 5 → Level 6 (0) | 2023.11.14 |