base64?
base64를 이용한 문제이다.
우선 주어진 파일 중 encode_data.txt 파일을 cyberchef에 from base64를 이용하여 돌려봤는데 평문이 나오지 않는 것을 확인했다.
그래서 우리가 일반적으로 사용하는 base64와는 알파벳 순서를 다르게 설정하여 encode 했다고 추측했다.
우선 data.txt를 일반적인 base64로 돌린 후 encode_data.txt와 비교해보았는데 받은 txt 파일과는 다른 것을 확인할 수 있다.
이를 보고 원래 encode문과 주어진 encode문을 비교해가며 알파벳 순서를 작성해서 이후 일반적인 base64로 decode하면 플래그가 나올 것이라 생각했다.
위 사진과 같이 비교해가며 문제에 사용된 base64 알파벳 순을 다시 작성한 후 문제에서 flag로 준 base64문을 원래 base64 알파벳 순을 이용하여 다시 바꿨다.
Y2NlMjAyMnt3ZWxjMG1lX2NjMl9nb29vb29kXzp1Y2sp Q==
그럼 변환하지 못한 '9'자리에 위치한 한글자 빼고는 모두 변환을 완료했고 이를 cyberchef로 돌려보면 아래와 같은 결과가 나온다.
빈 곳을 입력하지 않고 decode하자 플래그의 일부분이 나왔고 마지막 단어인 :uck을 luck이라고 추측하여 입력했더니 맞다고 떴다.
'ctf writeup' 카테고리의 다른 글
HSOC 교내 해킹방어대회 100점 문제 writeup (0) | 2022.10.09 |
---|---|
HSOC 교내 해킹방어대회 문제 출제 후기 및 50점 문제 writeup (0) | 2022.10.08 |
25회 해킹캠프 writeup 및 후기 (0) | 2022.09.23 |
CRYPTO CTF 2022 writeup (0) | 2022.08.16 |
TJ-CTF writeup (0) | 2022.06.19 |