2016. 7. 30. 10:23 :: 문제풀이/WebHacking,kr

안녕하세요. Message입니다.

Webhacking.kr Lv1 문제풀이입니다.

 

------------------------------------------------------------------------------------------------------------------------------------------

1. 문제분석

------------------------------------------------------------------------------------------------------------------------------------------

1번 문제로 접속합니다.

아래와 같은 문구 외에는 별다른게 없습니다.

적혀 있는 index.phps 가 힌트인 것 같습니다.

 

 

------------------------------------------------------------------------------------------------------------------------------------------

2. 문제풀이

------------------------------------------------------------------------------------------------------------------------------------------

소스보기를 해봅니다.

index.phps에 onclike 이벤트가 걸려있는것을 확인하고, 클릭합니다. 

 

그럼 아래와 같은 소스를 볼 수 있습니다.

 

간단한 소스코드 해석을 합니다.

 

1) 첫번째 PHP 문단 : 쿠키세팅

$_COOKIE라는 PHP의 슈퍼전역변수를 이용하여 user_lv 변수의 쿠키값을 확인합니다.

처음접속했다면 당연히 없을테니 Cookie값이 1 로 세팅될겁니다.

 

쿠키가 세팅되는 매커니즘을 간단히 메모장으로 테스트해보면 아래와 같습니다.

SetCookie 함수는 다른 함수가 실행되기 이전에 처음에 세팅되어야 하기 때문에

가장 상단에 존재해야 합니다.

 

 

2) 두번째 PHP 문단 : COOKIE값 확인

다시한번 $_COOKIE 변수와 정규표현식 [^0-9,.] 을 비교합니다.

대괄호 안에 있는 ^ 문자의 의미는 "해당 문자열을 제외한 나머지가 있으면 True값입니다."

즉, 저희는 저 대괄호 범위 안에 있는 문자열만 입력 가능하다는 뜻이죠.

이후에는 5 < Clear조건 <=6 을 만족하면 @solve() 함수가 실행되는 내용입니다.

 Tip. ereg 와 eregi

 두개의 함수는 동일 문자열을 검색하는 함수입니다.

 int ereg(string $pattern , string $string [, array &$regs ]) : 대,소문자 구별

 int eregi(string $pattern , string $string [, array &$regs ]) : 대소문자 구별없음

 첫번째 인자인 $pattern은 찾을 문자열이 들어가며,

 두번째 인자인 $string은 대상 문자열이 들어갑니다.

 

이제 문제를 클리어해봅시다.

일단 우리는 접속하자마자 SetCookie() 함수로 인하여 Cookie 값이 1 로 세팅됩니다.

이제 소스코드가 파악이 되었으니 Cooxie 툴바로 Cookie 값만 변경해주면 됩니다.

 

 

다음 레벨로 넘어갑니다!

 

 

posted by Red_Message