webhacking.kr 5번 [300p]
문제가 다음과 같이 적혀 있네요 Login을 클릭하면 다음과 같은 창이 뜹니다.
URL주소는 /mem/login.php이네요
로그인을 하려면 Join을 먼저 해야할거 같아서 Join을 눌러보았으나..
접근 불가로 되어 있네요.
로그인을 아무거나 쳐봤는데.
ID : aaaa
PW : 1111 로 입력을 했습니다.
ID는 무조건 admin이어야 하나 봅니다.
ID : admin
PW : 1111
아이디는 맞으나 비번이 틀렸다고 나오네요.
소스코드를 확인하니 location.href를 이용해서 바로 login을 누르면 /mem/login.php로 넘어가도록 되어있습니다.
또 아까 언급한 URL을 살펴보니 그냥 /login.php라고 하면 될 것을 굳이 /mem이 있더라고요. 혹시나 하는 마음에 /mem까지만 입력해 보았습니다.
Index가 힌트라고 적혀 있네요.
Login.php는 아까 우리가 봤던 홈페이지 이지만 join.php는 접근도 못하고 거절 당했습니다. 한번 확인해보죠
그냥 검은 바탕입니다. 그래서 소스코드를 확인해 보니…
난독화 되어 있네요.. 또륵..
Javascript로 되어 있기 때문에 js난독화 사이트는 많이 있어서
https://www.strictly-software.com/unpacker#unpacker 에서 난독화를 해제 했습니다.
난독화가 안된 부분은 웹 콘솔을 이용해서 하나씩 바꿔 보도록 하겠습니다.
이런 식으로 변환을 했습니다.
코드를 해석해 보면
7번줄 : cookie값에 oldzombie가 없으면 자동으로 bye.
13번줄 : URL에 mode=1이 없으면 alert창이 출력 후 뒤로가기가 실행된다.
URL에 mode=1을 넣고, Cookie에 oldzombie를 넣어서 이동을 해봤습니다.
회원가입 창에 들어왔습니다.
ID admin으로 하나 만들어 보겠습니다.
ID : admin
PW : 0000
길이가 5이기 때문에 admin밖에 적을 수 밖에 없습니다.
그래서 길이를 10으로 늘려보겠습니다.
또한 아이디는 무조건 admin이어야 하지만 5글자보다는 많아야 합니다.
그래서 생각해 낸 것이 "admin%20" 또는 "admin "으로 회원 가입을 해보겠습니다.
ID : admin%20
PW : 0000
회원가입 완료!
URL에 /mem/login.php로 바꿔주고 로그인 해봅시다.
해결완료!