Bace
Webhacking.kr - old-05 본문
문제를 들어가면 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 |