본문 바로가기

WarGame/wow_webgame

wow_web4

wow webgame

[level 4]

   

   

힌트가 나와있다. 1번은 의미없는 글인 거 같고, 2번을 보면 익명의 guest/guest 계정이 있다는 것 같다.

3번과 4번 힌트도 뭔지 모르겠다.

일단, ID와 PW에 guest/guest로 들어가보자

guest계정으로 인증이 되었다는 창이 떴다.

   

   

그리고 guest계정으로 로그인 된 창이 나타났다.

여기서도 같은 힌트들이 밑에 존재한다.

그리고 뭔가 삽질을 하는 그림이….

이번 문제는 삽질을 하는 문제라는 건가??ㅋㅋ

   

여튼 왼쪽 밑에 보면 힌트가 있다.

Hint: =)~ not yet!

아직 힌트가 나오지 않은 것인가? 뭔가를 하면 여기에 힌트가 뜨는건가?

   

그리고 왼쪽에 보면 Query라고 쿼리문을 입력하는 부분이 있다.

입력하는 부분에 마우스를 누르자 마자

이런 창이 뜬다.

어우 이상하다.

소스보기를 해서 소스를 보면

이런 부분이 있다.

   

onFocus=alert('Oops~');

   

이것이 무엇인고 검색을 해보니

출처 : http://cafe.naver.com/aspajax.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=32&

   

input text박스에 커서가 들어왔을때 이벤트가 발생하는 자바스크립트문이었다.

그래서 여기에 커서를 넣고 클릭을 하면 alert 경고창을 띄우는 것이었다.

   

혹시 쿼리문을 이용한 문제인가 하고 파로스로 응답받은 html소스에서 이 부분을 지워보았다.

   

다행히 이제 경고창을 띄우진 않았다.

그런데 여기에는 뭔가를 쳐도 되지 않는게, 소스를 보면 get이나 post메소드로 특정 페이지에 값을 보내는 소스가 없다.

결국 이건 낚인 것 같다.

   

이 부분에서 로그온 유저가 admin이 있어서 눌러보니

이렇게 그냥 백지의 페이지로 떴다.

   

뭔가 인증이 되지 않았나??

그래서 이 페이지를 파로스로 어떻게 요청하는지 보았다.

   

   

쿠키의 세션아이디가 총 64글자인데 앞의 32글자는 같은데 뒤의 32글자가 처음과 다른것을 확인할 수 있었다.

여기서 32글자라는 것은 md5 해쉬로 인코딩 한 것의 냄새가 폴폴~

그래서 앞의 바뀌지 않는 32글자를 디코딩 해보았다.

이럴수가…..앞의 글자는 ID였던 것인가?

guest가 md5로 인코딩 된 것이다.

흠...여기서 유추할 수가 있다.

앞의 32글자를 admin으로 md5로 인코딩을 한다면

admin계정 쿠키의 앞 32글자는 완성된다는 것이다.

그럼 이제 뒷 32글자만 찾으면 된다는 뜻이 된다.

   

계속 바뀌는 것으로 보아…..시간인가???

guest 로그인 창의 모습을 보면 Hi! guest 밑에 LoginTime 이라는 시간을 보여준다.

아마 guest의 쿠키값은 이 시간값에 의해 만들어졌을 것이다.

   

그럼 관리자의 로그인 시간은 어떻게 유추할 수 있을까?

삽질그림 밑에 1번 글에 Open! 이라는 글을 로그인 직후에 썼다고 가정하고 문제를 풀어야 한다.

1번 글을 쓴 시간으로부터 1초씩 앞당기면서 쿠키값을 구해 넣다보면 로그인이 되는 쿠키값을 찾아낼 수 있다.

   

결론:

  1. 쿠키값이 어떻게 만들어졌는지 유추할 수 있어야 한다.
  2. 그리고 그 쿠키값을 우리가 직접 만들어보고 세션을 맺어본다.
  3. md5 해쉬에 대해 이해하자

   

   

   

   

'WarGame > wow_webgame' 카테고리의 다른 글

wow_web6  (0) 2011.07.18
wow_web5  (0) 2011.07.18
wow_web3  (0) 2011.07.04
wow_web2  (0) 2011.07.04
wow_web1  (0) 2011.07.04