메-모해봅시다.

Bandit Level 11 → Level 12 본문

리눅스/Over The Wire

Bandit Level 11 → Level 12

RollingPumpkin 2020. 5. 20. 05:48

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항목을 살펴보던 중 강력한 힌트(거의 답)을 찾았다.

"The Quick Brown Fox Jumps Over The lazy Dog" 를 ROT13으로 변환하는 모습

저기에 이 단계를 해결할 때 유용한 명령어 에서 본 tr 명령어(transliterate)가 눈에 띄었다.

나는 저 문법을 그대로 활용하기로 했다.

 

우선 data.txt 파일을 확인해 보았다.

생각해 보니 이걸 일일히 13자리를 바꾸는 작업을 하려니 생각만 해도 머리가 터진다...

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

The password is 5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu

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

ssh bandit12@bandit.labs.overthewire.org -p 2220

'리눅스 > 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