[그림 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

+ Recent posts