Bace

Webhacking.kr - old-05 본문

Webhacking.kr

Webhacking.kr - old-05

Bace 2019. 11. 7. 03:48

문제를 들어가면 Login과 Join이 나온다.

login을 누르면 로그인 창이 나오지만,

join을 누르면 Access_Denied가 뜬다.

소스를 보면 join 버튼의 onclick에 no를 줘서 Access_Denied가 뜨는거다.

 

로그인 창에서 admin / admin 으로 로그인 해보았다.

wrong password가 뜬다.

 

이상한 아이디로 로그인해도 wrong password가 뜨는거 보니, join 페이지에서 회원가입을 해야하는 것 같다.

메인 페이지 소스를 수정해보았다.

Access_Denied는 뜨지 않지만 아래와 같은 소스가 나오면서 bye가 나온다.

llllll -> 이것들을 더해서 문자를 만드는 것 같다.

해석해보면,

if(eval(document.cookie).indexOf(oldzombie)==-1) {alert('bye'); throw "stop";}

if(eval(document.URL).indexOf(mode=1)==-1) {alert('access_denied');throw "stop";}

~~~~

document.write('<form method=post aciont=join.php>;)

~~

<input type=text name=id ~~

<input type=text name=pw ~~

이다.

위의 if 조건문을 우회하면 join 페이지에 들어갈 수 있을 것이다.

 

다음과 같이 소스를 변경하여 회원가입 페이지에 들어갔다.

이제 admin / admin으로 회원가입을 하면 이미 있는 아이디라고 나온다.

guest / guest로 회원가입을 하면 회원가입이 완료되었다고 나온다.

admin으로 로그인해야 하는 문제 같다.

 

회원가입 창 소스의 id 부분에 maxlength 가 있는것을 보니 6글자로 맞춰놓고 주석처리인 #을 붙여 admin#으로 해도 될 것 같다.

admin#으로 회원가입을 성공했다.

이제 login.php로 가서 로그인해보았다.

이제 로그인을 누르면

admin으로 로그인하라고 나온다.

 

주석도 통하지 않으니

admin 공백 여러개와 ~~ null 로 가입해보았다.

admin으로 가입됐다고 뜬다.

이제 admin / admin으로 로그인 해보면 

solve

'Webhacking.kr' 카테고리의 다른 글

Webhacking.kr - old-06  (0) 2019.12.03
Webhacking.kr - old-25  (0) 2019.11.07
Webhacking.kr - old-42  (0) 2019.11.04
Webhacking.kr - old-36  (0) 2019.11.04
Webhacking.kr - old-33  (0) 2019.11.04