Yozzang의 해킹일기 💻
article thumbnail
728x90

이번 포스트에서는 Python Challenge의 Level 6 문제에 대해 다루겠다.


문제를 클릭하면 다음과 같은 페이지가 출력된다.

Level 6

## 문제 해석 : 

기부하라는 버튼이 있으며 개발자 도구를 이용하여 확인해보며 <-zip->이라는 힌트를 얻을 수 있다.

## 문제 풀이 : 

channel.zip으로 접속해보겠다.

### 실행 결과  :

channel.zip

zip 파일이 다운로드가 되었으며, 해당 파일을 압축해제하면 위와 같이 여러 텍스트 파일이 존재한다.

 

readme.txt를 확인해보면 90052번부터 시작하며 정답이 zip 파일 안에 있다고 한다.

 

90052.txt 파일을 확인해보겠다.

### 실행 결과 : 

90052.txt

위와 같이 Next nothing이 출력된 것을 확인할 수 있다. 그럼 파이썬 자동화 코드를 작성해서 최종 nothing을 알아내보도록 하겠다.

### 공격 코드 : 

import zipfile
import re

f = zipfile.ZipFile("channel.zip")
print(f.read("readme.txt").decode("utf-8"))

num = '90052'

comments = []

while True:
    content = f.read(num + ".txt").decode("utf-8")
    comments.append(f.getinfo(num + ".txt").comment.decode("utf-8")) # 파일 설명란에 있는 값 추가하기
    print(content)
    match = re.search("Next nothing is (\d+)", content)
    if match == None:
        break
    num = match.group(1)

print("".join(comments))

### 실행 결과 :

Nothing 출력

Hockey라는 단어가 출력된 것을 확인할 수 있다.

### 공격문 : http://www.pythonchallenge.com/pc/def/hockey.html

### 실행 결과 : 

1차 시도

글씨를 자세히 보라는 문구가 나와 있다. Hockey라는 단어를 자세히 확인해보면 o, x, y, g, e, n으로 이루어진 것을 확인할 수 있다.

### 최종 공격문 : http://www.pythonchallenge.com/pc/def/oxygen.html

### 실행 결과 : 

공격 성공

Level 7로 넘어간 것을 확인할 수 있다.

'Wargame > Python Challenge' 카테고리의 다른 글

Python Challenge (Level 8)  (0) 2022.08.26
Python Challenge (Level 7)  (0) 2022.08.25
Python Challenge (Level 5)  (0) 2022.08.06
Python Challenge (Level 4)  (0) 2022.08.05
Python Challenge (Level 3)  (0) 2022.08.03
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!