Webhacking.kr 워게임 사이트에 로그인 한 후, 'Challenges' 페이지에 접속한다.
* Login
* Challenges
Challenges 페이지에서 4번을 클릭하면 다음과 같은 4번 문제의 페이지를 볼 수 있다.
인코딩된 것으로 유추되는 문자열이 존재한다.
또한, 맨 마지막 문자들을 보면 '=='로 끝나는 문자열이다.
'=' 혹은 '=='으로 끝나는 문자열은 base64 인코딩이 된 것으로 예상해 볼 수 있다.
* Base64의 경우 필요에 따라 Padding 문자로 '=' 혹은 '=='를 맨 뒤에 채운다.
첫 문자열을 디코딩하면 아래 값이 나온다.
-> c4033bff94b567a190e33faa551f411caef444f2
출력된 문자열을 보면 두가지 특징을 알 수 있다.
- 16진수로 보인다는 점
- 40글자라는 것
- 해쉬 함수 처럼 보인다는 것 (현재로서는 미확실)
16진수는 1글자당 4bit이므로 문자열이 160bit라는 것도 알 수 있다.
160bit로 구성된 해쉬 함수를 찾아보니 SHA-0과 SHA-1이 존재한다.
통상적으로 많이 사용되는 SHA-1을 사용해서 복호화를 진행하면 아래와 같은 값이 출력된다.
-> 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
'----WARGAME---- > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 5번 풀이 - Directory Traversal, Directory Listing and Code Obfuscation (0) | 2017.07.02 |
---|---|
Webhacking.kr 3번 풀이 - SQL Injection (0) | 2017.07.02 |
Webhacking.kr 2번 풀이 - Blind SQL Injection (1) | 2017.07.01 |
Webhacking.kr 1번 풀이 - Cookie 변조 (0) | 2017.07.01 |
Webhacking.kr - 로그인 및 회원가입 (0) | 2017.07.01 |