반응형
🖐️ 문제 🖐️
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
다음 레벨의 비밀번호는 data.txt 파일에 저장되며, 여기서 모든 소문자(a-z) 및 대문자(A-Z)는 13자리씩 회전되었습니다.
hint commands
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
- grep : 파일 내 특정 문자열 검색
- uniq : 중복된 내용 제거
- strings : 문자열만 추출하여 출력
- tr : 지정한 문자를 변환하거나 삭제
- tar : 여러 개의 파일을 하나의 파일로 묶거나 풀때 사용
- gzip : 압축
- base64 : 이진 데이터를 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식
☀️해결☀️
문제에서 모든 소문자 및 대문자는 13자리씩 회전되었다는 것을 통해 ROT13 암호 알고리즘이라는 것을 알 수 있었다.
ROT13
컴퓨터로 사용되는 암호 알고리즘 가운데 가장 단순한 종류이다. 알파벳 글자를 13자리 밀어내는 것으로 만든다. 다음과 같은 테이블에 따라서 치환을 행한다.

먼저 파일의 형태를 확인해주었더니 ASCII로 이루어져있음을 알 수 있다.
bandit11@bandit:~$ file data.txt
data.txt: ASCII text
bandit11@bandit:~$ cat data.txt
Gur cnffjbeq vf 7k16JArUVv5LxVuJfsSVdbbtaHGlw9D4
ROT13 암호 알고리즘을 이용한 암호를 변환하기 위해서 tr 명령어를 사용하여 적용하면 된다.
$ echo "Or fher gb qevax lbhe Binygvar" | tr 'A-Za-z' 'N-ZA-Mn-za-m'
Be sure to drink your Ovaltine
bandit11@bandit:~$ cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
The password is 7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4
반응형
'WriteUp > OverTheWire' 카테고리의 다른 글
| [Bandit] bandit12 -> bandit13 (0) | 2024.08.28 |
|---|---|
| [Bandit] bandit10 -> bandit11 (0) | 2024.08.28 |
| [Bandit] bandit9 -> bandit10 (0) | 2024.08.28 |
| [Bandit] bandit8 -> bandit9 (0) | 2024.08.28 |
| [Bandit] bandit7 -> bandit8 (2) | 2024.08.28 |