클라이언트 Obfuscation 3문제 풀이 시작해보도록 하겠습니다.

위에 두 문제 정도는 시간이 좀 걸릴 것 같아 다음에 풀이법을 작성하여 보겠습니다~

 

1. 문제

 

이번에도 동일하게 패스워드를 푸는 문제가 되겠네요~


2. 문제풀이

 

처음 문제에 접속하게 되면 패스워드 입력하는 곳이 등장하여, test라는 임의의 문자를 입력하여보았습니다.

 

확인 버튼을 누르니 잘못된 패스워드라며 비웃어버립니다.

 

우선 힌트를 보기 위해 요청 패킷을 잡아보았습니다.

 

 

패킷의 pass를 보면 숫자가 뜬금없이 존재하며, ASCII코드의 숫자 값과 관련이 있지 않겠나 라는 추측을 해 보았습니다.

이후 숫자를 ASCII코드의 숫자와 대조해 보니 FAUX PASSWORD HAHA라는 값이 나오게 되었습니다.

 

코드를 분석하여 결과값을 토대로 힌트를 얻어보려 했지만, 계산하기가 쉽지 않아 개발자 모드의 디버깅 모드를 사용해보기로 결정하였습니다.

String["fromCharCode"] 부분을 보면 hex(16진수) 값을 통해 ASCII코드가 나타나 있는 것이 보이며, 이것을 콘솔 명령어를 통해 간단히 확인해 보겠습니다.

 

unescape를 통해 16진수를 10진수의 ASCII 코드로 나타내 보았습니다.

이후 10진수의 ASCII 코드를 풀어보니

 

7860sErtk12 값이 나오게 되었고 이 값을 패스워드에 입력해 보았습니다.

 

결과는....

 

문제에서는 답을 도출하는 로직이 존재하지 않아 입력하여도 alert를 통해 FAUX PASSWORD HAHA문구를 띄우게 되어있습니다.

 

이번 문제를 통해서도 많은 걸 배우게 된 것 같다.

앞으로도 개발자 도구 모드를 잘 사용해 보아야겠다~ 

 

문제풀이 끄읏~

복사했습니다!