WEB/webhacking.kr (old)

webhacking.kr 12번

hongjw 2020. 1. 27. 01:26

level 12 첫화면

자바스크립트에 관련된 문제인가보다 (・ิω・ิ) 

 

소스코드 보기 !

엄청난 이모티콘들,,

세미콜론을 기준으로 이모티콘들을 정리해보았다.

마지막 세미콜론은 엄청 많은 이모티콘들끝에 쓰여져있었다. (함수 예측)

끝 부분
괄호 짝 찾기

script 끝 부분에 쓰인 괄호의 짝을 찾아, 괄호안의 이모티콘들만 console창에 입력! (VS code를 이용하면 괄호 짝을 쉽게 찾을 수 있다)

 

+) 다른 방법으로 풀기

console창에 함수명을 입력하면, 함수의 내용을 볼 수 있다.

 

 

 

 

함수 f를 만들고, 함수명(f)만 입력해보았다.

 

 

또한, 코드상에서 함수를 만들었다면 함수를 호출할 것이다. (대부분 마지막부분에 호출) 

이 문제도 마찬가지로 코드 끝부분에서 함수를 호출했을것이라고 예측하고, 마지막에 쓰인 ('_');를 제외한 앞부분을 console창에 입력!

 

(function anonymous(
    ) {
    var enco='';
    var enco2=126;
    var enco3=33;
    var ck=document.URL.substr(document.URL.indexOf('='));
    for(i=1;i<122;i++){
      enco=enco+String.fromCharCode(i,0);
    }
    function enco_(x){
      return enco.charCodeAt(x);
    }
    if(ck=="="+String.fromCharCode(enco_(240))+String.fromCharCode(enco_(220))+String.fromCharCode(enco_(232))+String.fromCharCode(enco_(192))+String.fromCharCode(enco_(226))+String.fromCharCode(enco_(200))+String.fromCharCode(enco_(204))+String.fromCharCode(enco_(222-2))+String.fromCharCode(enco_(198))+"~~~~~~"+String.fromCharCode(enco2)+String.fromCharCode(enco3)){
      location.href="./"+ck.replace("=","")+".php";
    }
    })

 

-> console창에 출력된 자바스크립트 코드

charCodeAt : 문자열 중 하나를 선택하여 아스키코드 번호로 변환해주는 함수.

fromCharCode : 아스키코드번호를 받아 문자열을 구성해주는 함수.

console창에서 코드 실행

(if문을 입력하면 undefined가 출력된다..,)

코드를 실행하면 문제 해결 ~~!~!!

 

+) 이런 이모티콘 난독화 사이트

인코딩 : http://utf-8.jp/public/aaencode.html

디코딩 : https://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html

'WEB > webhacking.kr (old)' 카테고리의 다른 글

webhacking.kr 16번  (0) 2020.01.27
webhacking.kr 14번  (0) 2020.01.27
webhacking.kr 11번  (0) 2020.01.26
webhacking.kr 10번  (0) 2020.01.21
webhacking.kr 6번  (0) 2020.01.20