[그림 01] Challenge 06번 시작 화면
ID와 PW가 보입니다. index.phps는 링크입니다.
index.phps 즉, index.php의 소스를 보여주는 곳입니다. 들어가봅시다.
소스를 들어가면 아래와 같이 나옵니다.▼
[그림 02] PHP소스 요약
소스를 간단히 해석해보면
01. id, pw에 있는 값을 20번 base64로 인코딩합니다.
02. 1,2,3,4,5,6,7,8을 각각 !,@,$,^,&,*,(,)로 바꿉니다.
03. 쿠키에 user, pasword를 추가하고 20번 인코딩 된 값을 각각 입력합니다.
04. 만약 user, password라는 쿠키값에 있는 !,@,$,^,&,*,(,)을 1,2,3,4,5,6,7,8로 replace하고 이를 20번 디코딩한 쿠키값(user, password)이 모두 admin이면 solve()라는 함수가 실행됩니다.
즉, user와 password 쿠키값에 admin을 20번 인코딩하고 replace까지 한 값을 입력하면 됩니다.
[그림 03] Chrome 브라우저 콘솔에서 user, password를 입력
참고 소스 (Python) - admin 문자열을 20번 인코딩 및 replace함 :
import base64 string_admin='admin' for i in range(0,20): string_admin = base64.standard_b64encode(string_admin) string_admin = string_admin.replace('1','!') string_admin = string_admin.replace('2','@') string_admin = string_admin.replace('3','$') string_admin = string_admin.replace('4','^') string_admin = string_admin.replace('5','&') string_admin = string_admin.replace('6','*') string_admin = string_admin.replace('7','(') string_admin = string_admin.replace('8',')') f = open('string_admin.txt', 'w') print >> f, 'Set Cookie user value and password value : ' print >> f, string_admin
'WARGAMES > webhacking.kr - old' 카테고리의 다른 글
Webhacking.kr_No.15(50) - old (0) | 2016.06.28 |
---|---|
Webhacking.kr_No.14(100) - old (0) | 2016.06.28 |
Webhacking.kr_No.12(250) - old (0) | 2016.06.28 |
Webhacking.kr_No.10(250) - old (0) | 2016.06.28 |
Webhacking.kr_No.05(300) - old (0) | 2016.06.26 |
Webhacking.kr_No.04(150) - old (0) | 2016.06.22 |
Webhacking.kr_No.03(350) - old (0) | 2016.06.16 |
Webhacking.kr_No.01(200) - old (0) | 2016.06.16 |