뉴비에욤
Webhacking.kr 6번 본문
6번 문제 메인 페이지, "base64" 인코딩이 힌트인 것을 알려주고 index.phps 페이지를 통해 원본
소스를 볼 수 있다.
// $val_id, val_pw 변수에 각각 "guest, "123qwe"
문자열 저장
// 반복문이 20번 돌면서, $val_id, val_pw 변수를
base64 인코딩함
// 20번 인코딩 된 문자열에서 특정 문자를 다른
문자로 치환함
// $val_id, val_pw 변수에 동일한 치환값이 적용됨
// 20번 인코딩 -> 문자 치환 결과 문자열을 쿠키에
"user", "password" 값으로 세팅
// $decode_id, decode_pw 변수에 쿠키 "user,
"password" 값 저장
// 특정 문자를 치환 (인코딩 과정과 반대임)
// 반복문이 20번 돌면서, $decode_id, decode_pw
변수를 base64 디코딩 함
디코딩 된 변수의 값들이 "admin" 이면 문제 클리어
* 페이지에서는 초기 인코딩 변수들이 "guest", "123qwe"로 고정되어 있기 때문에 클리어를 위해서는
"admin" 문자열을 base64 인코딩 20번 + 문자 치환를 수행한 뒤의 결과 값을 쿠키 값에
넣으면 된다. (쿠키에 넣으면 알아서 디코딩이 되서 문제 클리어)
$val_id, val_pw 모두 "admin"을 요구하기 때문에 한번만 뽑아내면 된다.
페이지 소스를 그대로 긁어와서 초기 문자열을 "admin" 으로 바꾸고, 최종 결과 값을 출력한다.
"admin" 문자열 => base64 인코딩 20번 => 문자 치환 수행 후의 결과값이다.
위 문자열을 "user", "password" 쿠키값에 넣으면 문제는 클리어 된다.
'Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 8번 (1) | 2015.08.15 |
---|---|
Webhacking.kr 7번 (0) | 2015.08.15 |
Webhacking.kr 5번 (0) | 2015.08.15 |
Webhacking.kr 4번 (0) | 2015.08.15 |
Webhacking.kr 3번 (0) | 2015.08.14 |