"Check Key Value"라는 문구가 나오고 입력 폼과 함께 Check라는 버튼이 존재한다. 페이지 소스를 확인해보자.

 

<script>
	eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('g l=m o(\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'a\',\'b\',\'c\',\'d\',\'e\',\'f\');p q(n){g h=\'\';g j=r;s(g i=t;i>0;){i-=4;g k=(n>>i)&u;v(!j||k!=0){j=w;h+=l[k]}}x(h==\'\'?\'0\':h)}',34,34,'||||||||||||||||var|result||start|digit|digitArray|new||Array|function|PASS|true|for|32|0xf|if|false|return'.split('|'),0,{}))		
</script>

<!--Hint : 12342046413275659 -->
<!-- M@de by 2theT0P -->

 

위와 같은 자바스크립트 코드를 확인할 수 있다. 복잡해보이니까 따로 해석하지는 않고 바로 실행해서 결과값을 확인해주었다. eval은 문자열을 코드로 인식시켜주는 함수니까 안에 있는 코드만 실행시켜주었다.

 

var digitArray=new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
function PASS(n){
	var result='';
    var start=true;
    for(var i=32;i>0;){
    	i-=4;
        var digit=(n>>i)&0xf;
        if(!start||digit!=0){
        	start=false;
            result+=digitArray[digit]
            }
	}
    return(result==''?'0':result)
}

 

PASS함수에 힌트로 주어진 12342046413275659  를 넣어보면 '9c43c20c'라는 값이 나온다.

 

이 값을 입력 폼에 넣어주고 check를 누르면 Authkey를 알 수 있다.

 

'forensic > suninatas.com' 카테고리의 다른 글

[suninatas] Level 7  (0) 2021.09.06
[suninatas] Level 6  (0) 2021.09.06
[suninatas] Level 4  (0) 2021.09.06
[suninatas] Level 3  (0) 2021.09.06
[suninatas] Level 2  (0) 2021.09.06

+ Recent posts