728x90
이번 포스트에서는 Python Challenge의 Level 8 문제에 대해 다루겠다.
문제를 클릭하면 다음과 같은 페이지가 출력된다.
## 문제 해석 :
missing link를 찾으면 될 것 같다.
## 문제 풀이 :
개발자 도구를 이용하여 페이지 소스를 확인해보면 다음과 같다.
### 실행 결과 :
중간에 "../return/good.html"이라는 링크가 보인다. 해당 링크로 접속해보겠다.
### 링크 : http://www.pythonchallenge.com/pc/return/good.html
### 실행 결과 :
사용자이름과 비밀번호를 입력하라는 창이 있다. 여기서 사용자이름과 비밀번호는 위에 페이지 소스의 주석 부분이다.
해당 주석 부분을 자세히 보면 공통적으로 앞에 "BZh91AY&SY"가 있다는 것을 알 수 있다. 이는 bz2파일의 헤더이며 파이썬을 통해 해독할 수 있다.
### 공격 코드 :
import bz2
un = b'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'
pw = b'BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08'
print("Username = ", bz2.decompress(un))
print("Password = ", bz2.decompress(pw))
### 실행 결과 :
### 사용자 이름 : huge
### 비밀번호 : file
### 실행 결과 :
Level 9로 넘어간 것을 확인할 수 있다.
'Wargame > Python Challenge' 카테고리의 다른 글
Python Challenge (Level 10) (0) | 2022.08.28 |
---|---|
Python Challenge (Level 9) (0) | 2022.08.27 |
Python Challenge (Level 7) (0) | 2022.08.25 |
Python Challenge (Level 6) (0) | 2022.08.24 |
Python Challenge (Level 5) (0) | 2022.08.06 |