OverTheWire: Bandit 데이터 변환 (Level 11 → Level 12)

Fordsec·2023년 1월 23일

  1. Level 11 -> Level 12로 넘어가는 문제이다.
  1. 문제를 읽어보면 모든 소문자든 대문자가 13위치가 이동되어 있다. 라고 적혀 있다.

3. 한 칸을 이동하면 이렇게 된다.

문제 내용은 이것이 한 칸이 아니라 13칸이라는 것이다.

이것은 일종의 디코딩으로도 볼 수 있는데 사실 이것은 암호화에 해당한다.

지난 문제는 인코딩을 다뤘다면 이번 문제는 암호화 문제인 것이다.

key가 없는데 어떻게 암호화 냐고 할 수 있지만 몇번 글자를 움직였는가? 이것이 바로 key가 되는 것이다.

이 정보가 없으면 글자를 다시 복구 하지 못하기 때문이다.

이것은 유명한 암호화 문제이다.

  1. ROT라는 암호화 방식이다.

그중에서도 13만큼 자리를 이동시킨 것이니까 이것을 ROT13이라고 한다.

ROT13은 생각보다 유명하다.

ROT13이라는 웹 사이트가 있을 정도로 유명하다.

글자를 넣으면 복호화를 해준다.

5. data.txt의 파일 내용부분을 복사해서 ROT13 웹 사이트에 적용을 해본다.

이렇게 평문으로 복구를 할 수 있다.

  1. ROT13이라는 알고리즘을 쓰는구나 라는걸 알고 있을때 가능한 방법이다.

ROT13이 아니라 문자 그대로를 해석해서 풀어보도록 하자

tr은 translate 즉, 치환을 해주는 명령어이다.

tr a b를 입력한다고 했을 경우에는 a라는 글자를 b로 바꾸겠다.

대문자 A부터Z까지 소문자a부터 z까지 그리고 A를 13만큼 이동하면 N부터 시작하게 된다.

N부터 시작해서 Z까지 하고 A부터 시작해서 M까지 소문자 n부터z까지 소문자a부터 m까지 하면 13글자를 이동한 만큼 표현해줄 수 있다.

data.txt라는 파일의 결과를 |를 통해 입력해준다.

로그인 성공

https://youtube.com/@Certa6

제 유튜브 채널입니다.
도움이 됐다면, 구독 부탁합니다!
주변에 제 블로그, 유튜브를 알려주시면 감사하겠습니다~! :)

Thank you for watching the blog.
Please subscribe! I would appreciate it if you could share the blog around you.

profile
Penetration Tester | ROK NIS 2025 APEX | ROKAF CERT

0개의 댓글