새단장한 rubiya님 webhacking.kr의 old challenge 5번 문제 풀이입니다.

 

문제에 들어가면 까만 화면에 두개 버튼만 나옵니다.

일단 소스보기를 한번 보겠습니다.

대충 보니, 로그인버튼은 mem/login.php로 이동시키는데, 회원가입 버튼은 Access Denied라는 알럿 창이 뜨게 되어있습니다.

 

일단 로그인 창으로 넘어가서 admin이나 guest 계정으로 아무 패스워드나 쳐서 로그인 시도를 해보겠습니다.

admin/admin으로 로그인 시도를 할 시, wrong password가 뜹니다.

 

아무 아이디나 막 쳐도 Wrong password가 뜨게 되어있습니다.

 

느낌상 join 페이지를 알아내서 거기서 join을 해야 할 것 같습니다.

 

mem/join.php 로 이동을 해 보았는데 

뭐 이런 alert이 뜨고 아무 것도 안나옵니다.

 

소스코드를 한번 보겠습니다.

대충 난독화된 js가 있는 것 같은데, 내용 분석을 한번 해보겠습니다.

 

js beautifier에 보내서 코드를 조금 이쁘게 정리해보겠습니다.

https://beautifier.io/

 

Online JavaScript beautifier

 

beautifier.io

 

 

if문에 잇는 조건문들을 한번 찾아보겠습니다.

대충 보면 document.cookie에 oldzombie라는 문자열이 없거나, document.URL에 mode=1라는 문자열이 없으면 나가리시킨다는 내용입니다.

 

쿠키값을 한번 주고, url에 해당 부분을 추가해 보겠습니다.

쿠키값을 추가하고, url에 ?mode=1을 달아보겠습니다.

기특하게도 나타났습니다.

 

이제 admin으로 회원가입을 해봅시다.

 

아이디가 중복이라고 나옵니다.

회원가입 요청 시 admin뒤에 공백 여러개와 맨 끝에 NULL 문자를 넣어서 회원가입을 해보겠습니다.

 

회원가입 성공이라고 뜹니다.

 

이후 가입한 admin/asdf로 로그인을 시도해보도록 하겠습니다.

 

예전에 풀었었기에 already solved가 뜹니다.

 

Clear!

+ Recent posts