본문 바로가기

웹해킹/webhacking.kr

old-12 롸업(webhacking.kr)

javascript challenge라고 되어 있어서 바로 개발자 도구에서 구성 코드를 확인했다.

script 태그 안에 자바스크립트 코드가 알아볼 수 없는 형태로 엄청 길게 작성되어 있다.

뭔지 감이 안 잡혀서 몇줄 정도 복사하고 gpt한테 물어봤더니 자바스크립트 난독화를 위한 AAEncode가 사용된 코드라고 한다. 갓 gpt..

AAEncode 디코더 사이트에 들어가서 디코딩을 해봤더니

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";
}

이렇게 간단한 자바스크립트 코드가 나왔다.

enco 문자열은 1부터 121까지 모든 아스키코드 문자를 포함하고 있다.

enco_(x) 함수는 x번째 위치에 있는 문자의 아스키코드 값을 반환한다.

자바스크립트 코드를 console 창에서 실행시켜봤더니 =youaregod~~~~~~~! 이라는 문자열이 나왔다.

url에 ?=youaregod~~~~~~~!를 입력해줬더니 

이렇게 php 파일로 이동되면서 문제가 풀렸다.

'웹해킹 > webhacking.kr' 카테고리의 다른 글

old-15 롸업(webhacking.kr)  (0) 2023.12.05
old-14 롸업(webhacking.kr)  (0) 2023.12.05
old-11 롸업(webhacking.kr)  (0) 2023.12.05
old-10 롸업(webhacking.kr)  (0) 2023.12.04
old-07 롸업(webhacking.kr)  (0) 2023.12.04