WarGame/SuNiNaTaS

[SuNiNaTas] 써니나타스 18번 - FORENSICS

URL은 다음과 같다.

http://suninatas.com/challenge/web18/web18.asp

 

Game 18

86 71 57 107 89 88 107 103 97 88 77 103 89 83 66 110 98 50 57 107 73 71 82 104 101 83 52 103 86 71 104 108 73 69 70 49 100 71 104 76 90 88 107 103 97 88 77 103 86 109 86 121 101 86 90 108 99 110 108 85 98 50 53 110 86 71 57 117 90 48 100 49 99 109 107 104

suninatas.com


해결책

접속하면 What is it이라는 문제 아래, 숫자들이 즐비해 있다.

으흠 숫자의 범위를 보니, ASCII안쪽의 범위라는 걸 알 수 있다. 해독 코드를 짜자 숫자들이 길어서 18.txt에 저장했다.

### 18.py

if __name__ == "__main__" :
    with open("18.txt","r") as f:
        dat = f.read().strip().split(" ")

    ans = ""
    for d in dat :
        ans += chr(int(d))

    print(ans)

결과는 다음과 같다.

VG9kYXkgaXMgYSBnb29kIGRheS4gVGhlIEF1dGhLZXkgaXMgVmVyeVZlcnlUb25nVG9uZ0d1cmkh

이건 문자의 범위를 봐서 base64 encoding되어있다고 본다.

### 18_2.py

import base64

if __name__ == "__main__" :
    with open("18.txt","r") as f:
        dat = f.read().strip().split(" ")

    ans = ""
    for d in dat :
        ans += chr(int(d))

    print(base64.b64decode(ans.encode()))

출력은 다음과 같다.

b'Today is a good day. The AuthKey is V○○○○○○○○○○○○○○○○○○○○○!'