Yozzang의 해킹일기 💻
article thumbnail
728x90

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


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

Level 5

## 문제 해석 : 

사진 한 장과 "발음해봐라"는 문구가 나와 있다. 소스코드를 확인해보니 다음과 같다.

소스 코드

"peak hell의 발음이 친숙하다?"라는 문구가 나와 있으며, banner.p라는 파일이 있다. ".p"라는 확장자를 통해 해당 파일은 파이썬의 피클파일인 것을 알 수 있다.

## 문제 풀이 : 

먼저 해당 피클 파일을 실행해보겠다.

### 공격 코드 : 

import pickle
from urllib.request import urlopen

data = pickle.load(urlopen("http://www.pythonchallenge.com/pc/def/banner.p"))
print(data)

### 실행 결과 :

1차 시도

수많은 튜플들이 출력된 것을 확인할 수 있다. 그 중 유독 "#"만이 문자로 되어 있다. 해당 튜플을 풀어서 보자면 다음과 같다.

### 공격 코드 : 

import pickle
from urllib.request import urlopen

data = pickle.load(urlopen("http://www.pythonchallenge.com/pc/def/banner.p"))

for line in data:
    print("".join([k * v for k, v in line]))

### 실행 결과 : 

URL 출력

channel이라고 출력된 것을 확인할 수 있다.

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

### 실행 결과 : 

공격 성공

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

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

Python Challenge (Level 7)  (0) 2022.08.25
Python Challenge (Level 6)  (0) 2022.08.24
Python Challenge (Level 4)  (0) 2022.08.05
Python Challenge (Level 3)  (0) 2022.08.03
Python Challenge (Level 2)  (0) 2022.08.01
profile

Yozzang의 해킹일기 💻

@요짱

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