Bandit level11
OverTheWire 문제풀이 - Bandit
* Bandit 는 리눅스 관련 문제입니다.
* 리눅스 명령어를 연습하기에 아주 좋습니다.
* 개인적인 문제풀이로 해답을 보시기 전에 직접 풀어보시기를 권해드립니다.
Bandit level11
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
Helpful Reading Material
Rot13 on Wikipedia
다음 레벨의 암호는 data.txt 파일에 저장되며 여기서 소문자 (a-z)와 대문자 (A-Z) 문자는 13 위치만큼 회전되어 있습니다
이 레벨을 해결하는 데 필요할 수있는 명령
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
유용한 읽기 자료
Wikipedia의 Rot13
[문제 풀이]
band11 아이디로 접속해 현재 디렉터리를 살펴보면 위와 같은 파일이 있습니다. 다음 패스워드에 대한 힌트를 보면 소문자 (a-z)와 대문자 (A-Z) 문자가 13 위치만큼 회전되어 있다고 합니다. 처음에 이 문장만 보면 어떤 명령어를 써야하는지 감이 오지 않습니다. 하지만 힌트를 쭉 살펴보면 Rot13 이라는 자료가 유용하다고 알려줍니다.
Rot13?
ROT13은 1980년대 초반의 net.jokes 뉴스그룹에서 유래하였다. 원래 목적은 보기에 따라서 모욕적일 수 있는 내용이나, 유머에서 가장 중요한 마지막 줄들을 실수로 미리 보는 일이 없도록 하려는 것이었다. 처음에는 모욕적인 농담을 다른 뉴스그룹에 올려서 분류하려 하기도 했으나, 관리자들은 그런 뉴스그룹을 만드는 것이 마치 어떤 모욕적인 내용이라도 해당 그룹에 올리면 문제가 없다는 식으로 보일 수 있다는 이유로 이를 반대했다. ROT13은 그 단순함 때문에 이런 용도에 알맞았다.
ROT13은 영어 알파벳을 다른 영어 알파벳으로 치환만 하기 때문에, 알파벳 이외의 일반적이지 않은 문자를 처리하지 못하는 뉴스리더에서도 문제를 발생시키지 않았다. ROT13은 영어에서 가능한 25가지의 카이사르 암호(ROT-1부터 ROT-25까지) 중에서 암호화와 복호화가 같은 유일한 방법이었기 때문에 선택되었다. (만약 영어 알파벳이 26자가 아니라, 폴란드어같이 더 많거나 하와이어같이 더 적었다면 다른 방법이 선택되었을 것이다.)
손으로 메시지를 암호화하고 복호화할 수도 있지만, 자동으로 암호화나 복호화를 해 주는 것이 더 편리하다. 예를 들어 ROT13이 만들어진 지 얼마 안 있어 뉴스리더 소프트웨어들은 자동으로 복호화하는 기능을 지원하였으며, 유닉스 계열 시스템들은 tr(transliterate의 약자)이라는 표준 유틸리티를 지원하기 때문에 다음과 같은 방법으로 ROT13 암호화 및 복호화를 할 수 있다.
$ echo "Or fher gb qevax lbhe Binygvar" | tr 'A-Za-z' 'N-ZA-Mn-za-m'
$ Be sure to drink your Ovaltine
※ 출처 : 위키백과
따라서 위와 같은 Rot13 기법으로 해당 암호를 풀면 됩니다.
next level password : 5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu
'War Game > bandit' 카테고리의 다른 글
Bandit level13 (0) | 2017.04.03 |
---|---|
Bandit level12 (1) | 2017.03.30 |
Bandit level10 (0) | 2017.02.23 |
Bandit level9 (0) | 2017.02.23 |
bandit level8 (0) | 2017.02.22 |