메-모해봅시다.
Bandit Level 11 → Level 12 본문
Level Goal
The password for the next level is stored in the file data.txt, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions
Commands you may need to solve this level
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
목표
다음 단계로 가는 비밀번호는 data.txt 파일에 있으며 모든 문자는 13자리씩 서로 바뀌어 있습니다.(ROT13)
이 단계를 해결할 때 유용한 명령어
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
이 문제를 풀 때 도움이 될 사이트
https://en.wikipedia.org/wiki/ROT13
-어떻게 풀까?
우선 ROT13을 간단하게 설명하면, 문제에 나와있듯 자리를 13자리 옮기는 것이다.
예를 들면 A의 경우는 13자리 뒤인 N으로 바뀌고, B의 경우는 O로 바뀐다.
이를 이용해 일일히 하나씩 세어가며 변환하는 방법도 있지만...
머리를 쓰기 싫어 몸을 쓰고 싶은 분만 추천하는 바이다...
-ROT13
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
↓
NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm
이번 단계또한 전 단계처럼 간단하게 온라인 툴 검색으로 쉽게 풀 수는 있다.
그러나 공부하기 위해 이 문제를 푸는 입장으로서 다른 방법을 모색하기로 했다.
우선 문제에 제시된 문제를 풀 때 도움이 되는 사이트를 참조했다.
위의 wikipedia 사이트의 rot13항목을 살펴보던 중 강력한 힌트(거의 답)을 찾았다.

저기에 이 단계를 해결할 때 유용한 명령어 에서 본 tr 명령어(transliterate)가 눈에 띄었다.
나는 저 문법을 그대로 활용하기로 했다.
우선 data.txt 파일을 확인해 보았다.

이제 위에서 본 tr 명령어를 여기에 더해보았다.

이제 비밀번호를 알았으니 다음 단계로 넘어가자.

'리눅스 > Over The Wire' 카테고리의 다른 글
Bandit Level 10 → Level 11 (0) | 2020.05.20 |
---|---|
Bandit Level 9 → Level 10 (0) | 2020.05.20 |
Bandit Level 8 → Level 9 (0) | 2020.05.20 |
Bandit Level 7 → Level 8 (0) | 2020.05.19 |
Bandit Level 6 → Level 7 (0) | 2020.05.19 |