워게임/CTFlearn

[CTFlearn] Encryption Master - 암호학 / Base64

SecurityMan 2023. 1. 2. 11:00

 

CTFlearn의 쉰두번째 문제

 

Hard 난이도의 암호학 카테고리 문제인데

 

배점이 90점이나 된다.

 

그런데 실제로 풀어보면.. 어이없을 정도로 쉽다.

 

난이도는 누가 정하는건지..

 

반응형

 

 

문제에서 주어지는 것은 Here ya go!.txt 파일이다.

 

메모장으로 열어보면 위와 같은 내용이 써있다.

 

This is NOT going to be fun. 이라는 말과 함께

 

알수없는 글자들이 써있는데

 

데이터의 맨 끝을 보면 == 로 끝나는 것을 볼 수 있다.

= 은 Base64에서 사용하는 패딩으로

저렇게 알수없는 알파벳+숫자들이 있는 데이터의 맨 끝이 = 또는 == 이라면

Base64 로 인코딩 되었다고 생각하면 거의 맞다.

 

 

CyberChef(https://gchq.github.io/CyberChef) 에서 Base64 디코딩을 쉽게 할 수 있다.

 

디코딩을 해보면 Nice! Now keep going. 이라는 문구와 함께

 

숫자 + 영어의 조합으로 된 알수없는 데이터를 볼 수 있다.

 

 

다시한번 CyberChef에서 From Hex로 디코딩 해주면

 

Two more. 이라는 문구와 함께 0101로 이루어진 데이터를 볼 수 있다.

 

0과 1로 이루어져있고 8글자씩 끊어져있는데

 

 

이건 From Binary로 디코딩이 가능하다.

 

그럼 마지막으로 Final Decryption! 이라는 문구와 함께

 

또 마지막이 ==인 데이터가 나오는데

 

 

다시한번 Base64 디코딩을 해주면 플래그를 찾을 수 있다.

 

 

이번 문제 역시 오류라고 생각하는 부분이

 

출제자가 decrypt 라고 표현한 부분이다.

 

Base64는 encryption이 아닌 encoding 이기 때문에 decoding 이 맞는 표현이다.

 

둘을 구분하는건 쉽게 평문으로 돌리는데 key 가 필요하냐로 구분할 수 있다.

 

크게 중요하진 않지만.. 거슬리는건 어쩔 수 없다.

반응형