파이썬 챌리지 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 |