[Bandit] Level 8 → Level 9
문제를 읽어보니 비밀번호는 data.txt라는 파일에 있으며 딱 한번 나타나는 라인에 존재한다고 한다.
일단 이전 단계에서 얻은 비밀번호로 접속해준다.
ls 명령어로 파일과 디렉터리 목록을 확인한 후에 data.txt 파일을 cat 명령어로 읽어보았다.
위의 화면처럼 아주 복잡하고 긴 내용을 갖고 있음을 알 수 있다.
문제의 힌트로 돌아가서 명령어를 참고해보니 sort라는 명령어를 쓰기에 적합할 것 같았다.
$ sort [옵션] [파일]
: 파일의 내용을 정렬하거나 정렬된 파일의 내용을 병합할 때 사용
# -r, --reverse : 역순으로 정렬한다.
# -k, --key=POS1 : 정해진 필드를 기준으로 정렬한다.
# -u, --unique : 정렬 후 중복된 내용을 제거한다.
# -t, --field-separator=SEP : 필드 구분자를 지정, -k 옵션으로 필드를 지정해서 사용할 때 좋다.
# -f, --ignore-case : 대소문자를 구분하지 않고 정렬한다.
sort 명령어를 사용하니 길고 복잡했던 내용이 보기 편하게 정렬되었음을 확인할 수 있다.
하지만 그래도 우리가 원하는 것을 찾긴 힘들다.
문제에서 언급되어 있던대로 유일하게 존재한다는 점을 이용하여 uniq 명령어까지 알아보았다.
$ uniq [옵션] [파일]
: 중복된 내용의 행이 연속으로 있으면 하나만 남기고 삭제한다.
# -c : 같은 라인이 몇번 나오는지 표시
# -d : 중복되어 나오는 라인 중 한 라인만 표시
# -D : 중복되는 모든 라인을 보여준다.
# -u : 중복 라인이 없는 것만 보여준다.
파이프를 이용하여 sort 명령어와 uniq 명령어를 합쳐서 해당되는 내용을 읽어보니 원하는 비밀번호가 나왔다.