문제에 접속하니 디버그하라는 문구가 나온다.
개발자도구(F12)를 켜서 소스를 확인해보니 script 태그에 위와 같이 소스가 있다.
소스를 옮겨서 확인해봐도 들여쓰기가 전혀 안 된 상태로 나오다보니 보기가 까다로웠고
결국 자바스크립트 난독화 해제 프로그램을 이용해 난독화를 해제하여 소스를 확인해봤다.
난독화를 해제하니 소스가 보기 편해졌다.
하지만 313줄로 긴 소스였고 여기서 뭘 해야되지?라는 생각이 들었지만 딱히 생각나는 것이 없어서 코드오더링을 쭉 해봤다.
코드오더링을 하던 중에 처음에 페이지에 접속했을때 "debug me"라는 alert창이 떴던 것이 생각났고 alert를 바로 검색해봤다.
alert 검색결과 313줄의 소스중 alert가 딱 하나만 존재했고 위 사진에 나온 alert가 처음에 "debug me"를 띄운 alert문임을 알 수 있다.
그렇다면 if문 조건에서 참을 달성하지 못해 alert가 뜬 것이기 때문에 if문의 조건을 달성하면 되는구나! 라는 생각을 했다.
if문을 자세히 보면 b(인자1,인자2) 에 의해 알아보기 힘들게 난독화가 되어있는데 location이 들어가있고 []로 b()가 묶여있는 것을 봤을때는 명령어를 의미한다고 생각이 들어서 바로 b() 형태의 값들을 모두 console을 이용해서 값을 출력시켜봤다.
값을 출력시켜보니 문자들이 나왔으며 이것을 if문의 조건에 그대로 대입시켜서 다시 해석해봤다.
위 처럼 해석이 됐으며 쉽게 설명하면 if문 조건 달성시 ./?Passw0RRdd=1 이라는 주소로 이동한다는 의미이다.
따라서 해당 주소로 이동해보기로 했다.
클리어!!