2017/08/28 - [Study :)/WarGame] - [SuniNaTaS] 4번 문제, 자바스크립트 우회
5번 문제
key 값을 입력해서 맞추는 문제인것 같다.
소스코드를 보니 eval 함수와 힌트가 보인다.
처음에는 아무생각 없이 힌트를 입력하여 check해봤으나.. 당연히 안됨... ㅋㅋ
음... MSDN에는 이렇게 설명되어 있다... 그래서?
위 링크를 보면 eval 함수를 이용해서 난독화를 할 수 있다는 것을 알 수 있다.
그러면 복호화를 어떻게 할까?
http://kwangguevara.tistory.com/20
좀더 검색해보니 위 링크 설명처럼 eval함수를 alert함수로 복호화 가능하다는 사실을 알게 되었다.
그래서 eval함수 부분을 모두 복사하여 콘솔에 입력한 후, eval을 alert로 변경하였다.
콘솔에 입력하여 실행 하니 다음과 같은 창이 출력되었다.
위 코드를 http://jsbeautifier.org 링크에서 보기 편하게 변경 한 후 확인해 보니,
PASS라는 함수가 등장하였다.
웹 소스에서는 PASS 함수를 사용 하는 부분이 없는데 난독화되어 정의되어 있는 것을 보니, 이 함수를 이용하면 될것같아,
콘솔에서 힌트값과 함께 PASS 함수를 실행 하였다.
16진수 값이 출력되었다. 이 값을 넣으면 되는 건가...?