Yozzang의 해킹일기 💻
article thumbnail
728x90

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


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

Level 10

## 문제 해석 : 

소 그림과 "len(a[30])=?"라는 식이 있다. 해당 식을 풀어내면 되는 것으로 보인다.

## 문제 풀이 : 

개발자 도구를 확인해보면 다음과 같은 경로를 볼 수 있다.

개발자 도구

해당 경로에 접속해보겠다.

### 공격문 : http://www.pythonchallenge.com/pc/return/sequence.txt

### 실행 결과 : 

sequence.txt

문제 화면에 나와 있는 리스트 a이다. 해당 리스트의 규칙을 찾아내면 30번째값을 알아낼 수 있을 것 같다.

 

실제 풀이한 결과, 해당 리스트는 다음과 같은 규칙을 가진다.

규칙

이 규칙을 활용하여 파이썬 자동화 코드를 작성하면 30번째 값을 알아낼 수 있다.

### 공격 코드 : 

a = ["1"]

while(len(a) < 31):
    base = a[-1][0]
    cnt = 1
    next_val = ""
    for i in range(1, len(a[-1])):
        if(a[-1][i] != base):
            next_val += str(cnt)+str(base)
            base = a[-1][i]
            cnt = 1
        else:
            cnt += 1
    next_val += str(cnt)+str(base)
    a.append(next_val)

print(len(a[30]))

### 실행 결과 :

URL 출력

### 최종 공격문 : http://www.pythonchallenge.com/pc/return/5808.html

### 실행 결과 : 

공격 성공

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

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

Python Challenge (Level 12)  (0) 2022.09.07
Python Challenge (Level 11)  (0) 2022.09.06
Python Challenge (Level 9)  (0) 2022.08.27
Python Challenge (Level 8)  (0) 2022.08.26
Python Challenge (Level 7)  (0) 2022.08.25
profile

Yozzang의 해킹일기 💻

@요짱

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