반응형

키를 찾는문제이다 역시 소스를 보자

<!--Hint : 12342046413275659 -->

힌트가 주어져 있다.

그래도 입력하면 역시 되지않는다.

스크립트도 나와있다.

 <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>


이런식의 스크립트문도 포함되어있다.

난독화 되어 있어 어떠한 내용인지 볼수없다.


https://www.strictly-software.com/unpack-javascript

난독화 해제 사이트를 통해 살펴보자


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를 얻을수 있다.

이제 이 키값을 보내주면 인증키를 볼수 있다.



반응형

'보안 > 써니나타스' 카테고리의 다른 글

써니나타스 6번  (0) 2020.02.25
써니나타스 4번  (0) 2020.02.01
써니나타스 3번  (0) 2020.02.01
써니나타스 2번  (0) 2020.02.01
써니나타스 1번  (0) 2020.02.01
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기