본문 바로가기
Hacking/WebHacking.kr

Webhacking.kr : old-05 (300 pt)

by newbie22 2021. 2. 10.

 

 

문제에 접속하면 다음과 같은 화면이 나타납니다.

< 접속 화면 >

-> login 버튼과 join 버튼이 보입니다.

 

< F12 elements 탭 화면 >

-> Login을 클릭하면 mem/login.php로 이동합니다.

->Join을 클릭하면 Access_Denied 문구가 출력되는 알림 창이 나타나게 됩니다.

 

Login = mem/login.php 이므로 Join = mem/join.php라고 생각하고 join.php로 이동해 보았습니다.

 

< join.php 모습 >

-> bye이라는 알림 창이 나타났습니다. 

 

확인 후 F12 Elements 탭에서 코드를 확인하였습니다.

< F12 Elements 탭 모습 >

-> 변수명을 복잡하게 하여 난독화 되어 있는 코드가 눈에 보입니다.

 

코드를 정리하면 다음과 같이 간략한 코드가 나타나게 됩니다.

oldzombie= 'oldzombie';
cookie = 'document.cookie';
if(eval(cookie).indexOf(oldzombie) == -1) {
    alert('bye');
    throw "stop";
}
if(eval('document.URL').indexOf('mode=1') == -1){
    alert('access_denied');
    throw "stop";
}else {
    document.write('<font size=2 color=white>Join</font><p>');
    document.write('.<p>.<p>.<p>.<p>.<p>');
    document.write('<form method=post action='join.php'>');
    document.write('<table border=1><tr><td><font color=gray>id</font></td><td><input type=text name='id' maxlength=20></td></tr>');
    document.write('<tr><td><font color=gray>pass</font></td><td><input type=text name='pw'></td></tr>');
    document.write('<tr align=center><td colspan=2><input type=submit></td></tr></form></table>');
}

-> 변수 부분을 삭제하였습니다.

 

결론 join.php에 접속하려면 oldzombie cookie가 있어야 하고 url 매개변수로 mode=1을 추가해야 합니다.

< 정상적인 가입 화면 >

-> 임의로 가입하고 login.php로 이동하여 로그인해보았습니다.

 

< login 화면 >

-> admin으로 로그인해야 한다고 합니다.

 

단순히 admin으로 가입하려고 하면 이미 있는 계정이라고 나옵니다.

 

꽤 다양한 시도 후에~~ 

 

_ = 공백                   

_______1로 가입하든 ___1로 가입 하든 sign up as 1 success라는 문구가 출력되었습니다. 

 

-> 문자열 앞 또는 뒤에 있는 공백을 지워주는 것을 확인할 수 있습니다.

 

따라서 이를 이용하여 ___admin으로 가입하고 로그인하였습니다.

 

 

 

끝~~

'Hacking > WebHacking.kr' 카테고리의 다른 글

Webhacking.kr : old-11 (300 pt)  (0) 2021.02.11
Webhacking.kr : old-07 (300 pt)  (0) 2021.02.11
Webhacking.kr : old-58 (150 pt)  (0) 2021.02.09
Webhacking.kr : old-56 (250 pt)  (0) 2021.02.09
Webhacking.kr : old-51 (250 pt)  (0) 2021.02.08