Suninatas 19 Write-up

CTF 중점 스터디

2020. 3. 8. 22:28

문제로 들어가면 0과 1로 구성된 문자열이 주어진다. 이를 8byte씩 끊어서 10진수로 변환한 뒤 보면 전부 ASCII 범위 내에 들어간다. 따라서 2진수를 전부 ASCII 문자로 바꾸어본다.

ASCII 문자로 바꾸어보면 위와 같은 문자열이 나온다. 해당 문자열을 살펴보면 카이사르 암호를 통해 치환됬을 것이라고 추측해볼 수 있다.

import string

def shift(c, N):
    if c not in string.ascii_uppercase:
        return c
    if ord(c)+N > ord('Z'):
        return chr(ord(c) + N - 26)
    else:
        return chr(ord(c) + N)

text = 'NVCTFDV KF JLEZERKRJ REU KFURP ZJ R XFFU URP REU RLKYBVP ZJ GCRZUTKWZJMVIPYRIU'
for i in range(1, 26):
    tmp = ''
    for j in text:
        tmp += shift(j, i)
    print i, tmp

python을 사용하여 카이사르 암호를 복호화한다. 그럼 key가 9일 때 AUTHKEY가 출력되는 것을 볼 수 있다.

Written by choi_jiung

'CTF 중점 스터디' 카테고리의 다른 글

Xcz.kr_Prob1_Writeup  (0) 2020.03.15
Suninatas 18 Write-up  (0) 2020.03.01
Aero CTF 2020 Write Up  (3) 2020.03.01
Suninatas 13 Write-up  (0) 2020.02.23
Wargame.kr_Easy CrackMe_Write up  (0) 2020.02.17