본문 바로가기

----WARGAME----/Webhacking.kr

Webhacking.kr 4번 풀이 - Decode

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

Webhacking.kr 워게임 사이트에 로그인 한 후, 'Challenges' 페이지에 접속한다.
  * Login
  * Challenges

 

Challenges 페이지에서 4번을 클릭하면 다음과 같은 4번 문제의 페이지를 볼 수 있다.

 

 

인코딩된 것으로 유추되는 문자열이 존재한다.

또한, 맨 마지막 문자들을 보면 '=='로 끝나는 문자열이다.

 

'=' 혹은 '=='으로 끝나는 문자열은 base64 인코딩이 된 것으로 예상해 볼 수 있다.

 * Base64의 경우 필요에 따라 Padding 문자로 '=' 혹은 '=='를 맨 뒤에 채운다.

 * Base64 (Wikipedia)

 

첫 문자열을 디코딩하면 아래 값이 나온다.

 * Online Base64 Decoder

 -> c4033bff94b567a190e33faa551f411caef444f2

 

 

출력된 문자열을 보면 두가지 특징을 알 수 있다.

 - 16진수로 보인다는 점

 - 40글자라는 것

 - 해쉬 함수 처럼 보인다는 것 (현재로서는 미확실)

 

16진수는 1글자당 4bit이므로 문자열이 160bit라는 것도 알 수 있다.

160bit로 구성된 해쉬 함수를 찾아보니 SHA-0과 SHA-1이 존재한다.

 * 암호화 해시 함수 (Wikipedia)

 

통상적으로 많이 사용되는 SHA-1을 사용해서 복호화를 진행하면 아래와 같은 값이 출력된다.

 * Online SHA-1 Decoder

 ->  a94a8fe5ccb19ba61c4c0873d391e987982fbbd3

 

 

결과 값을 보면 역시 160bit의 16진수 문자열이다.

다시 한 번 SHA-1으로 복호화를 진행해보면,

다음과 같은 최종 암호를 얻을 수 있다.

 

  (정답보기)

 

획득한 admin의 answer을 아래 사이트에 입력하면 level 3의 모든 과정이 완료된다.
 * http://webhacking.kr/index.php?mode=auth

 

 

- 끝 -

 

 

출처 : warsolve.org, http://warsolve.org/w_webhacking.kr/ko-kr/level-4.aspx