Yozzang의 해킹일기 💻
article thumbnail
728x90

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


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

Level 4

## 문제 해석 : 

사진이 한 장 달려 있다. 사진을 클릭하면 다음과 같은 화면이 나온다.

힌트 1

여기서 nothing은 URL의 파라미터인 nothing임을 짐작할 수 있다.

그럼 해당 파라미터를 계속 바꿈으로써 문제를 풀 수 있는 것으로 보인다.

## 문제 풀이 : 

파라미터가 여러 번 변경되므로 파이썬을 통해 자동화 코드를 작성해보았다.

### 공격 코드 : 

from urllib import response
import requests

url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?"
nothing = 12345

while 1:
    params = {'nothing': nothing}
    response = requests.get(url=url, params=params)

    if "Divide" in response.text: # 중간에 Divide two 라는 문구가 나와서 추가
        nothing = int(nothing) / 2

    elif "and the next nothing is" not in response.text:
        print("Last nothing is", nothing)
        break

    else:
        nothing = response.text.split('the next nothing is')[1].lstrip()

### 실행 결과 :

파라미터 출력

### 공격문 : http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=66831

### 실행 결과 : 

다음 문제 URL 출력

peak.html에 들어가보겠다.

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

### 실행 결과 : 

공격 성공

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

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

Python Challenge (Level 6)  (0) 2022.08.24
Python Challenge (Level 5)  (0) 2022.08.06
Python Challenge (Level 3)  (0) 2022.08.03
Python Challenge (Level 2)  (0) 2022.08.01
Python Challenge (Level 1)  (0) 2022.07.31
profile

Yozzang의 해킹일기 💻

@요짱

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