Yozzang의 해킹일기 💻
article thumbnail
728x90

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


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

Level 17

## 문제 해석 : 

화면 좌측 하단에 보면 Level 4에 나왔던 사진이 다시 나온 것을 확인할 수 있다.

 

Python Challenge (Level 4)

이번 포스트에서는 Python Challenge의 Level 4 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 사진이 한 장 달려 있다. 사진을 클릭하면 다음과 같은 화면이

jy05un.tistory.com

Level 4에 들어가서 쿠키를 확인해보면 다음과 같이 파라미터를 busynothing을 쓰라고 한다.

Level 4 - Cookie

파라미터만 busynothing으로 바꾼 다음에 레벨 4와 같은 방식으로 공격하면 되는 것으로 보인다.

## 문제 풀이 : 

파이썬을 통해 자동화 코드를 작성해보겠다. 

### 공격 코드 :

from urllib.request import urlopen
from urllib.parse import unquote_to_bytes
import bz2
import re

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

while 1:
    h = urlopen(
        'http://www.pythonchallenge.com/pc/def/linkedlist.php?busynothing='+busynothing)

    raw = h.read().decode("utf-8")
    cookie = h.getheader("Set-Cookie")
    info += re.search('info=(.*?);', cookie).group(1) # 쿠키의 info란을 확인하여 그 값을 info 변수에 추가

    print(raw)
    match = re.search('the next busynothing is (\d+)', raw)
    if match == None: # while문 탈출
        break

    else:
        busynothing = match.group(1)

res = unquote_to_bytes(info.replace("+", " "))
print(bz2.decompress(res).decode())

### 실행 결과 : 

값 출력

마지막 문구에 26일을 기억하냐고 한다. 여기에 나온 26일은 Level 16번에 나온 문제에 관한 내용이다.

 

Python Challenge (Level 15)

이번 포스트에서는 Python Challenge의 Level 15 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : 달력이 출력되어있다. 달력 우측 하단에 위치하는 오른쪽 달력

jy05un.tistory.com

여기서 아버지는 모차르트의 아버지인 레오폴트(Leopold)이다. 또한 Leopold에 전화하라고 하는데, 전화하는 법은 Level 13에 나와있다.

 

Python Challenge (Level 13)

이번 포스트에서는 Python Challenge의 Level 13 문제에 대해 다루겠다. 문제를 클릭하면 다음과 같은 페이지가 출력된다. ## 문제 해석 : evil한테 전화하라고 한다. 개발자도구를 확인해보니 다음과 같

jy05un.tistory.com

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

### 공격 코드 : 

import xmlrpc.client as xc

url = "http://www.pythonchallenge.com/pc/phonebook.php"
serv = xc.ServerProxy(url)

print(serv.phone("Leopold"))

### 실행 결과 : 

1차 시도

stuff/violin.php로 접속하라고 한다.

### 공격문 : http://www.pythonchallenge.com/pc/stuff/violin.php

### 실행 결과 : 

it's me. what do you want?

모차르트 아버지의 사진이 출력되며, 제목을 보면 뭘 원하냐고 한다. 여기서 방금 전에 얻어낸 "the flowers are on their way"를 전해줘야 한다.

 

다음과 같이 쿠키의 info 값을 변경하면 된다.

쿠키 변조

### 실행 결과 : 

2차 시도

balloons라는 단어가 바로 다음 레벨로 가는 열쇠다.

### 최종 공격문 : http://www.pythonchallenge.com/pc/stuff/balloons.html

### 실행 결과 : 

공격 성공

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

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

Python Challenge (Level 19)  (0) 2022.09.18
Python Challenge (Level 18)  (0) 2022.09.17
Python Challenge (Level 16)  (0) 2022.09.15
Python Challenge (Level 15)  (0) 2022.09.11
Python Challenge (Level 14)  (0) 2022.09.10
profile

Yozzang의 해킹일기 💻

@요짱

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