아임노드

[OverTheWire Bandit] Bandit Level 10 -> Level 11 문제풀이 (+인코딩과 디코딩) 본문

[SK shieldus Rookies 23기] 공부 노트/OverTheWire Bandit 문제풀이

[OverTheWire Bandit] Bandit Level 10 -> Level 11 문제풀이 (+인코딩과 디코딩)

Noody 2024. 11. 21.

OverTheWire Bandit

Level 10 -> Level 11

 

 

목표 : 파일 안에 인코딩된 문자를 디코딩하여 패스워드 찾기 

 

  • 파일 안에 인코딩된 문자를 디코딩하여 패스워드의 원래 값으로 복원한다.

 

풀이 방법

 

1. bandit10 서버 접속

ssh bandit10@bandit.labs.overthewire.org -p 2220

 

 

2. 인코딩된 문자를 디코딩하기

이번에는 인/디코딩 명령어만 알고 있다면 쉽게 풀 수 있는 문제이다.

먼저 cat으로 파일 내용을 읽어보면

 

인코딩된 문자가 들어있다.

문제에서 'contains base64 encoded data' 라고 하였으므로 

다시 원래 값으로 디코딩하도록 한다.


인코딩과 디코딩을 간략하게 요약하자면,

  • 인코딩: 데이터를 변환해서 저장/전송하기 좋게 만드는 것.
  • 디코딩: 변환된 데이터를 다시 원래대로 복원하는 것.

 

여기서 Base64 인코딩은 

바이너리 데이터를 -> 텍스트 형식으로 변환해 네트워크 전송이나 저장을 쉽게 만드는 것이다.

 

예를 들면,

Base64 예시:

  • 원래 데이터: Hello! (내부적으로는 바이너리 데이터)
  • Base64로 인코딩: SGVsbG8h (마찬가지로 바이너리 데이터지만 텍스트 형식으로 변환됨)
  • Base64 디코딩: Hello!

 


 

원래 패스워드 값으로 복원하기 위해 base64 명령어를 사용한다.

 

여기서 옵션 -d는 디코딩을 의미한다.