[SuNiNaTaS/MISC] 13번 풀이

2019. 8. 1. 18:51문제풀이/suninatas.com

응...찾아볼게..

일단 소스를 확인해보면

힌트를 준다!

사실 몰라서 검색 해봤는데 ㅜㅜ

 

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

 

현재 링크인 위 url의 확장자명을 asp가 아닌 bmp, jpg, zip 등등으로 바꿔볼 수 있다.

 

그 중 zip으로 하면 web13.zip이 다운로드된다.

비밀번호가 걸려있다.

압축비번은 4자리 정수라고 했으니까 brute force attack을 시도한다.

공격은 파이썬 공부도 할 겸 파이썬으로 코드를 짜봤다.

import zipfile

char = []
fpath = input("file:")

zfile = zipfile.ZipFile(fpath)

'''
for x in range(0,10000):
    char.append(str(x).zfill(4))

for pw in char:

    try:
        zfile.extractall(pwd=bytes(pw,'utf-8'))
        print("pw: "+pw)

    except RuntimeError:
        pass

'''
f = open('pw.txt', mode='wt', encoding='utf-8')

for i in range(0,10000):
    f.write(str(i).zfill(4))
    f.write('\n')

f.close

txt = open('pw.txt').readlines()

for password in txt:
    pw = password.strip().encode()

    try:
        zfile.extractall(pwd = pw)
        print('pw: '+format(pw))

    except:
        pass

dictionary를 만들지 않고 바로 대입해서 풀어보게 하고싶었는데 계속 안된다 ㅠㅠㅠㅠㅠㅠㅠ이유를 모르겠다

그래서 일단 주석처리 하고..

 

0000~9999까지 적혀있는 메모장 파일을 만들고, 그 파일을 이용하여 압축을 해제하게 하는 코드를 구현했다.

비밀번호는 7642! 압축파일을 해제하면 아래와 같이 나온다.

 

파일 4개와 함께, 4개의 이미지를 합하여 key를 구하라고 나온다. 

왠지 HxD를 켜봐야할것같지..?

 

그래서 파일들을 HxD로 읽어봤다.

각 파일들에 대놓고 key가 적혀있다.

key1: 3nda192n
key2: 84ed1cae
key3: 8abg9295
key4: cf9eda4d

합친 key: 3nda192n84ed1cae8abg9295cf9eda4d

이건 대체 무슨 암호지 하고 고민하면서 일단 인증키에 넣었는데 풀렸다.

Authkey: 3nda192n84ed1cae8abg9295cf9eda4d

'문제풀이 > suninatas.com' 카테고리의 다른 글

[SuNiNaTaS/Forensic] 18번 풀이  (0) 2019.08.02
[SuNiNaTaS/MISC] 17번 풀이  (0) 2019.08.01
[SuNiNaTaS/MISC] 12번 풀이  (0) 2019.08.01
[SuNiNaTaS/web] 3번 풀이  (0) 2019.08.01
[SuNiNaTaS/web] 2번 풀이  (0) 2019.08.01