본문 바로가기

WarGame/PythonChallenge

Python Challenge 08 :: bz2

파이썬 챌리지 08은 다음과 같습니다.



소스코드를 보니 HTML map으로 숨어있는 링크가 있다는 것을 발견하게 될 것 입니다. 꿀벌이 링크입니다.


링크를 클릭하면 로그인 폼이 나오게 되는데, 소스코드에 uname과 password가 있습니다.



해당 문자를 검색해보니 bz2 모듈을 통해 압축한 데이터라는 것을 알 수 있습니다. 문자열 첫 머리가 BZ 이군요.


해당 문자열을 압축해제하면 아이디와 패스워드를 얻을 수 있을 것 같습니다.


파일 압축과 해제를 지원하는 모듈

  • zlib, 
  • bz2
  • lzma
  • gzip

사용법은 모두 동일합니다.


bz2 모듈의 사용법은 다음과 같습니다.


  • compress() : 압축한 바이트열 반환
  • decompress() : 압축 해제한 바이트열 반환


최종풀이는 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
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"
 
un_result = bz2.decompress(un)
pw_result = bz2.decompress(pw)
 
print(un_result)
print(pw_result)
cs


'WarGame > PythonChallenge' 카테고리의 다른 글

Python Chanllenge 10 :: 읽고 말하기 수열  (0) 2015.11.01
Python Challenge 09 :: turtle  (0) 2015.10.31
python challenge 07 :: Image(PIL)  (0) 2015.10.30
Python Challenge 06 :: zipfile  (0) 2015.10.26
Python Challenge 05 :: pickle  (0) 2015.10.23