안녕하세요, A0V3R Wargame의 암호학 문제들 중 기초적인 3문제 Write up을 작성합니다.
풀이 문제는 King bases on 8,8 , Not encrypted, 전화기를 열어라입니다.
King bases on 8,8 (100pt)
[문제설명] : 왕은 무엇에 기반을 두고 있을까
[출제자] : 정준영(Joon)
[출제이력] : 없음
[암호문] :
Vm0weE5GbFdiRmRXV0doVFYwZG9XVll3WkZOVU1WVjNXa2M1VjFadGVGbFVWbHBQVjBaS2MxZHVhRlpOYWtWM1Zr
UktTMU5HVm5KWGJGcFhaV3haZWxkWGRHRlRiVkY1Vkd0c2FWSnRhRzlVVjNoTFlqRmFjMWt6YUZkTmF6VjZWa2MxUjF
WdFNrZFhiR3hXVFVaYVRGWXhXbHBsVlRGVlZXeE9UbUY2VmxsV2JUQXhWakpHYzFOc1ZsZGhlbXhZV1ZSS1UyTnNVbk
5YYlVaVVVqRktTVlJzWkRCVWJGcFdZMFpTVjFaV2NGTmFSRVpEVld4Q1ZVMUVNRDA9
CTF에서 대부분의 암호문제, MISC 문제에는 base64를 이용하여 풀 수 있는 문제가 존재합니다.
이 문제도 그 중 하나입니다.
제목의 8,8 을 생각하면 8*8 = 64 이므로 base64를 떠올릴 수 있었습니다.
웬만하면 base64로 되는지부터 건드려보고 시작하는 편입니다.
저는 제가 JavaScript를 공부하면서 만들었던 Base64 디코딩, 인코딩 웹을 사용하였습니다.
https://github.com/nnT-Nje0n9/base64-Decoder-Encoder
암호문을 디코딩하시다보면 플래그를 얻을 수 있을 것입니다.
nnt-nje0n9.github.io/base64-Decoder-Encoder/base64decode.html
Not encrypted (100pt)
[문제설명] : 어떻게 암호화되었을까?
[출제자] : 이경하(nulLeeKH)
[출제이력] : 없음
[암호문] :
QTBWM1J7MXRfMXNfbjBUXzNuQ1J5UFQzZH0=
이 문제의 경우에도 처음에 base64로 디코딩하였습니다.
전화기를 열어라
[문제설명] : 아오바는 은밀하게 히후미의 스마트폰을 열어보고자 한다. 아오바를 도와주자! (형식 : A0V3R{numbers})
[출제자] : 이경하(nulLeeKH)
[출제이력] : 없음
[암호문] :
Li0tLS0gLS0tLS0gLi4tLS0gLS4uLi4=
이 문제는 플래그대신 숫자를 입력해야합니다.
우선 암호문을 base64로 해독하는 경우
.---- ----- ..--- -....
이런 . 과 - 로 이루어진 문장이 나타납니다. 이 문장은 문제이름과 연결지었을 때, 모스부호와 관련이 있을 것으로 생각됩니다.
모스부호를 참고하여 위 문장을 숫자로 바꾸면 될 것 같네요.
마치며
base64만으로 많은 문제를 풀 수 있다는 점이 놀라웠습니다.
앞으로 RSA 등, 다른 암호를 알아보려 합니다.
감사합니다.