WarGame/Webhacking.kr
[Webhacking.kr] old-12 Answer
리덕토
2022. 7. 15. 00:49
Old-12 Domain & Tool
- 구분 : 코드 난독화
- 문제풀이에 사용된 도구
- Chrome 103.0.5060.66
- AAEncode Decoder(Website 활용)
Old-12 Question & Answer
문제 페이지에 들어가면 javascript Challenge라는 p태그 하나만 검은화면에 있다. 콘솔[F12]를 활용해보면 다음과 같은 코드를 볼 수 있다.
귀여운 이모티콘들이 엄청 많이 기다리고 있다. 이 인코딩 방식은 AAEncoding이라고 하는데, 일본의 이모티콘방식으로 난독화를 거는 방식이다. 인터넷에서는 Decoder가 Open되어 있다. 디코딩한 결과는 다음과 같다.
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_라는 함수도 정의하고 enco라는 값도 사용하면서 또다시 읽기 힘들게 해두었는데, 구글 콘솔에서 조건뒤까지만 돌려보자
이후 조건문에서 비교하는 ck가 무슨값인지 확인하면 '=youaregod~~~~~~!을 확인할 수 있다. 이거를 =을 없애고 .php로 경로이동을 하면 된다.