보안 공부/webhacking.kr
webhacking.kr 12번 풀이
sh1256
2022. 1. 21. 18:33
728x90
js를 통해서 푸는 문제인 것 같다.
항상 하는 것처럼 개발자 도구(ctrl+shift+i)를 열었다.
하지만 이렇게 마지막이 ... 으로 끝나는 것을 보니
소스코드를 다른 방법으로 열어야 할 것 같다.
그래서 마우스 우클릭-->페이지 소스보기(ctrl+u)를 통해서 소스코드를 보았다.
그러면 제대로 된 소스코드를 볼 수 있다.
이 암호문은 AAencode로 만들어진 것이라고 한다.
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";
}
그러면 복호화된 소스코드를 얻을 수 있다.
여기서도 String.fromCharCode(enco_??)로 문장을 알아볼 수가 없다.
if문을 빼고 콘솔창에 입력해보자.
youaregod~~~~~~~!
얻었다.
URL뒤에 youaregod~~~~~~~!.php 를 입력해보자