[Bandit] Level 11 -> Level 12
2021. 12. 7. 23:29ㆍwargame
where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions
모든 소문자와 대문자는 13개로 회전되었다.
복호화하기 위해서 Rot13을 먼저 알아보자.
Rot13은 카이사르 암호의 일종으로 13글자씩 밀어서 만든다. 목적은 인증되지 않은 사람이 비밀스런 메시지를 볼 수 없게 하는 것이 아니라, 스포일러와 같은 의도적이지 않게 해당 내용을 보게 되는 상황을 막아주기 위해서이다. 따라서 온라인 게시판에서 퍼즐의 정답이나 스포일러와 같이 미리 보기를 원치 않는 내용을 암호화하는데 사용된다.
위와 같이 알파벳 26개를 13개씩 나누어 대조하여 출력한다.
data.txt 파일의 내용을 대조시키면 다음과 같은 문자열이 된다.
Gur cnffjbeq vf
The password is
위처럼 대조 표를 참고하여 문자를 바꿀 수도 있고,
tr 명령어를 이용하여 자동으로 하게끔 할 수도 있다.
tr [option] [set1] [set2]
tr 'a-zA-Z' 'n-za-mN-ZA-M'
‘대문자 알파벳 A 부터 Z, 그리고 소문자 알파벳 a 부터 z’ 라는 순서를 ‘(N 부터 Z, 그 다음을 A 부터 M)(n 부터 z, 그 다음을 a부터 m)’ 순서로 치환
alias 별칭을 이용하여 변수에 저장해두고 다음과 같이 사용도 가능하다.
'wargame' 카테고리의 다른 글
[Bandit] Level 13 -> Level 14 (0) | 2021.12.09 |
---|---|
[Bandit] Level 12 -> Level 13 (0) | 2021.12.08 |
[Bandit] Level 10 -> Level 11 (0) | 2021.12.06 |
[Bandit] Level 9 -> Level 10 (0) | 2021.12.05 |
[Bandit] Level 8 -> Level 9 (0) | 2021.12.04 |