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 |