http://webhacking.kr/challenge/web/web-06/index.php
참고 포스팅 : http://qkqhxla1.tistory.com/entry/md5-sha1-base64%EB%93%B1%EC%9D%98-%EC%9D%B8%EC%BD%94%EB%94%A9%EB%94%94%EC%BD%94%EB%94%A9
6번 입니다. 소스봐서 문제코드를 해독한 후 역으로 따라올라가면 답이 나올겁니다.
1. 'admin' 문자열을 20번 인코딩
2. $decode_id=str_replace("!","1",$decode_id);
~~ 등의 규칙으로 문자열을 역으로 변경.
3. user,password라는 쿠기값에다 저 값을 집어넣음.
역시 파이썬으로 아주 쉽게 가능합니다.
1번과정.
import base64 str = 'admin' for i in range(0,20): str = base64.b64encode(str)
말그대로 20번 인코딩. 이런 문제 풀이 꼭 인코딩 사이트가서 복붙신공으로 20번 하라고하는데
솔직히 20번하면 문자열도 엄청나게 길어지고 내가지금 20번 했는지도 잘 기억 못할수도 있습니다.
그리고 가장 중요한 이유로 멋도 없죠.
위처럼 간단한 코드로 20번 인코딩이 가능합니다.
2번과정까지 추가하면.
import base64 str = 'admin' for i in range(0,20): str = base64.b64encode(str) str = str.replace('1','!'); str = str.replace('2','@'); str = str.replace('3','$'); str = str.replace('4','^'); str = str.replace('5','&'); str = str.replace('6','*'); str = str.replace('7','('); str = str.replace('8',')'); str = str.replace('1','!'); print str
나옵니다. 엄청나게 짧은 코드로 많은 일을 할수 있습니다.
인코딩 사이트에서 20번 노가다하는것보다 파이썬 익숙해지는게 좋겠죠?
'webhacking > client' 카테고리의 다른 글
codeshell.kr readonly (0) | 2014.09.24 |
---|---|
webhacking.kr 12번 (0) | 2014.08.31 |
webhacking.kr 5번 (0) | 2014.08.19 |
webhacking.kr 12번 (0) | 2014.08.15 |
webhacking.kr 1번. (0) | 2014.08.11 |