CTF/암호학

[TeamH4C CTF] The Easiest problem of the universe - 암호학 / Base64 / Binary

SecurityMan 2022. 12. 17. 11:00

 

'우주에서 가장 쉬운 문제'

 

문제가 쉽긴 하다만.. 우주에서 가장 쉬운지는 생각해볼 필요가 있다.

 

반응형

 

h4c(V0hreFpreFdPSFJZTVRobldIa3dkRmd4T0hSWWVUQm5XSGt3ZEZneE9XWlllVEJuV0hrd2RGaDVNSFJZZVRCbldIa3habGg1TVdaWU1UaG5XREU0ZEV4V09IUllNVGhuV0hreFpsZ3hPV1pNVXpBOQ==)

 

이게 문제에서 주어진 문자열인데

 

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

 

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

 

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

 

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

 

 

CyberChef(https://gchq.github.io/CyberChef) 에서 Base64 디코딩을 해보았다.

 

Output 에 나온 결과를 보니

 

한번 디코딩 했는데도 계속 Base64 로 인코딩 된 문자열인듯 했다.

 

 

총 세 번 디코딩을 했더니

 

드디어 의미있어 보이는 문자열이 나왔다.

 

_-_-_-__ _--__-_- _--____- _--_--_- _-__-___ __--_-__ _-____--

 

이렇게 생겼는데

 

처음에는 두 개의 특수문자로만 이루어져서 모스부호라고 생각했다.

 

그런데 자세히 보니 8글자마다 띄어쓰기가 되어있는걸 알아챘고,

 

Binary 코드라고 생각했다.

 

 

_ 를 0, - 를 1로 각각 치환해준 뒤,

 

CyberChef 에서 From Binary 레시피로 디코딩을 해주면

 

플래그를 찾을 수 있다.

반응형