Post

[wargame] overthewire bandit 11 -> 12

Bandit Level 11 -> Level 12

user_id : bandit11
password : dtR173fZKb0RRsDFSGsg2RWnpNVj3qRr

목표

bandit11_12

비밀번호는 data.txt파일에 대소문자가 13자리씩 회전되어있다고 한다.

  • 카이사르 암호

    ROT13 : 문자를 알파벳 뒤에 13 번째 문자로 대채하는 대체 암호.

해결법

1
2
3
4
bandit11@bandit:~$ ls
data.txt
bandit11@bandit:~$ cat data.txt
Gur cnffjbeq vf WIAOOSFzMjXXBC0KoSKBbJ8puQm5lIEi

여기 나온 결과를 카이사르 암호 풀이 사이트를 이용해서 풀어도 된다. 하지만 이번에는 tr명령어를 사용해 보기로 한다.


tr(translate) 명령어

특정 문자를 치환하거나 삭제할 수 있다.

tr [option] [문자열1] [문자열2] 형태로 사용할 수 있다.

  • 소문자 -> 대문자 : tr a-z A-Z, tr '[:lower:]' '[:upper:]', `tr ‘[a-z]’ ‘[A-Z]’등의 형태로 사용할 수 있다.

우리는 ROT13된 문자열이 필요하다. 또한 대,소문자 모두 이동해야 하기에 범위 지정을 할 때에 대소문자 모두 기입해야 한다.

1
2
bandit11@bandit:~$ cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
The password is 7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4

비밀번호 : 7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4

This post is licensed under CC BY 4.0 by the author.