CTF/암호학

[UMDCTF] Baby's First Crypto - 암호학 / Ascii

SecurityMan 2022. 4. 29. 11:00

 

암호학 문제

 

문제 제목이 Baby's First 인것과 달리 생각을 조금 해야하는 문제였다.

 

물론 푸는 스킬 자체는 그렇게 어렵지 않다.

 

반응형

 

문제파일로 ciphertext 라는 이름의 바이너리 파일이 주어진다.

 

 

해당 파일을 HxD를 이용해서 열어보면 이런 내용이 들어있다.

 

일단 사람이 알아볼 수 없는 글자들이다.

 

어떻게 디코딩을 해야하나 고민하면서 XOR도 해보고 이것저것 해보다가

 

 

CyberChef에 들어가서 주어진 암호문의 각 문자들에서 16진수 D(10진수 13)를 빼봤더니

(https://gchq.github.io/CyberChef)

 

맨 앞에 플래그 포맷인 UMDCTF가 보였다.

 

문제는 뒤쪽에 있는 이상한 문자들이었는데

 

 

밑줄친 6개의 값들이다. 08 02 03 이런 값들이 D 보다 작은 값이기 때문에 

 

D를 빼버리면 저런 이상한 값들이 나오는 것이다.

 

 

저걸 해결하기 위해 Ascii 코드표를 활용했다.

 

08 을 예로 들어보자.

 

 

08에서 D를 빼면 10진수로 -5가 된다.

 

그럼 위의 코드표 맨 끝에서 5번째 문자 { 를 고르는 것이다.

 

마찬가지 방법으로

 

02 03 06 01 0A는 각각 u v y t } 가 된다.

 

이제 알아낸 사실들을 합쳐주면

 

UMDCTF-{1_1uv_crypt0}

 

플래그가 완성된다.

반응형