webhacking/client

webhacking.kr 12번

qkqhxla1 2014. 8. 15. 13:03

소스코드보면 자바스크립트 문제. 끝에 eval함수로 암호화된 구문을 실행시킵니다. 그러면 eval로 

실행시키기 이전 구문만 크롬 개발자도구에 갖다붙이면 알아서 해석해줍니다.



해석된 구문을 다시 해석해야됩니다. 맨 아래의 복잡한 if문에서 결과가 맞으면 alert로 password를

출력해주세요. if부분이 중요한걸 알았으니 if부분을 출력해보면 됩니다. document.write로 

직접 출력해보죠.


이렇게 if문만 document.write로 바꾸고 아래 중괄호를 없앴는데 false가 뜨네요. 내부를 자세히 살펴

보니 ck==으로 비교합니다. 다르니까 false가 뜨겠죠. ck는 이따 어떻게든 바꾸기로 하고 ck를 빼고 

한번 출력해보겠습니다.


=youaregod~~~~~~~!  가 출력됩니다. ck가 저거랑 똑같으면 통과한다는 뜻 같네요.

그럼 인자로 넘겨보면 될거같습니다. 

http://webhacking.kr/challenge/codeing/code3.html?ck=youaregod~~~~~~~!

답이 나오네요.

소스코드를 보고 어느부분이 중요한지, 어떻게 잘 잘라붙이고 이어붙여서 내가 원하는 부분을

찾거나 출력하는 능력이 자바스크립트 난독화 문제에서 가장 중요한것 같네요.

'webhacking > client' 카테고리의 다른 글

codeshell.kr readonly  (0) 2014.09.24
webhacking.kr 12번  (0) 2014.08.31
webhacking.kr 5번  (0) 2014.08.19
webhacking.kr 1번.  (0) 2014.08.11
webhacking.kr 6번  (0) 2014.08.10