Yozzang의 해킹일기 💻
article thumbnail
728x90

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


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

Level 2

## 문제 해석 : 

"문자를 식별하라" 라는 문구가 적혀 있고 페이지의 소스 코드 안에 있다는 말도 함께 적혀 있다. 즉 페이지의 소스 코드 내에 답안이 있는 것으로 보인다.

## 문제 풀이 : 

마우스 우클릭하여 페이지의 소스 코드를 확인해보겠다. 

소스 코드

엄청 긴 소스 코드가 출력된 것을 확인할 수 있다. 여기서 초록색 위주로 보면 되는데, 기호들 사이에 간혹 아래 그림 처럼 알파벳이 들어가 있는 것을 확인할 수 있다.

소스 코드

그럼 파이썬을 활용하여 페이지 소스를 받은 다음에, 기호가 아닌 알파벳만 출력하게끔 하면 될 것 같다.

### 공격 코드 : 

import requests

url = "http://www.pythonchallenge.com/pc/def/ocr.html"
result = ""

response = requests.get(url)
strings = response.text.split('find rare characters in the mess below:')[1] # find rare 구문부터 탐색을 시작

for i in range(len(strings)):
	if strings[i].isalpha(): # 알파벳인 경우
		result += strings[i]
print(result)

### 실행 결과 :

equality 출력

 

equality라는 단어가 출력된 것을 확인할 수 있다. 이어서 해당 단어를 URL에 넣어서 실행해보겠다.

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

### 실행 결과 : 

공격 성공

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

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

Python Challenge (Level 5)  (0) 2022.08.06
Python Challenge (Level 4)  (0) 2022.08.05
Python Challenge (Level 3)  (0) 2022.08.03
Python Challenge (Level 1)  (0) 2022.07.31
Python Challenge (Level 0)  (0) 2022.07.30
profile

Yozzang의 해킹일기 💻

@요짱

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