[Crypto] Caesar

 

caesar를 scissor를 한 거겠지? 그냥 간단한 고전암호 문제인 것 같다.

숫자와 특수문자는 바뀌지 않았다고 한다. 알파벳 대문자, 소문자만 브루트포싱 해보자.

cipher='TpBfi{i0d4e_3dg3i0i_T4vJ4i!!}'

for i in range(1,26):
    flag=''
    for j in cipher:
        tmp=ord(j)
        if(64<tmp<91):
            tmp+=i
            if(tmp>90):
                tmp-=26
        elif(96<tmp<123):
            tmp+=i
            if(tmp>122):
                tmp-=26 
        flag+=chr(tmp)
    print(f'{i}번째 flag is {flag}')

 

코드는 위와 같이 간단하게 짜줬다. ord와 chr를 함수를 이용해 ascii와 10진수를 바탕으로 알파벳 대문자 소문자를 판별하여 브루트포싱하는 코드이다.

실행결과는 다음과 같다. 9번째에 누가봐도 답 같은 flag가 있다.

🚩 Flag : CyKor{r0m4n_3mp3r0r_C4eS4r!!}

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤