워게임/CTFlearn

[CTFlearn] Reverse Polarity - 암호학 / Binary

SecurityMan 2022. 8. 5. 11:00

 

CTFlearn의 9번째 문제

 

이번 문제는 암호학 문제이다.

 

아직까지는 만 사천명이나 푼 쉬운 문제다.

 

반응형

 

분류가 암호학으로 되어있긴 한데

 

사실 이 문제는 암호 보다는 인코딩과 관련된 문제이다.

 

암호와 인코딩 둘다 원래 데이터를 다른 데이터로 바꾸지만,

 

암호에는 Key 값이 사용된다는 특징이 있다.

 

여기서는 Key가 필요없으니 그냥 인코딩-디코딩 이라고 생각하면 된다.

 

01000011010101000100011001111011010000100110100101110100010111110100011001101100011010010111000001110000011010010110111001111101

 

간단하게 문제에서 주어진 이 문자열을 디코딩 하면 된다.

 

0과 1로 이루어진 긴 문자열인데

 

이건 바이너리 코드로 8자리씩 끊어서 읽으면 된다.

 

 

예를들어 맨 처음 오는 01000011 을 살펴보자.

 

이진수를 십진수로 계산하면  67(64 + 2 + 1)이 된다.

 

 

ASCII 코드표에서 10진수 67은 영어 대문자 C를 의미한다.

 

이런식으로 주어진 문자열을

 

앞에서부터 8자리씩 잘라서, 10진수로 바꾼 뒤에

 

ASCII 코드표에서 해당하는 숫자를 찾아서 치환하면 된다.

 

 

사실 이렇게 노가다 할 필요없이

 

온라인 디코딩 도구 CyberChef(https://gchq.github.io/CyberChef) 를 이용하면

 

1초만에 디코딩 할수 있다.

 

From Binary 로 디코딩주면 플래그가 바로 나온다.

반응형