728x90
반응형
- 소스코드를 보니 문자열에 대한 난독화가 있어보이고 Init() 함수가 실행되면 패스워드를 초기화해버리는 것 같다.
- 힌트로는 12342046413275659 라고 적혀있다.
- eval(function(p,a,c,k,e,r) 부분을 보고 패킹되어 있다고 적혀있다고 생각해두었다.
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,{}))
- 힌트의 숫자를 일단 넣어보았더니 값이 초기화되었다.
- 위의 난독화된 문자열을 풀어보았다.
- PASS 함수 안에 n이라는 인자를 받아서 리턴값을 주는 것 같다.
- PASS(12342046413275659) 로 함수를 호출해보기 위해 콘솔을 사용하였다.
- 아래에 뜨는 9c43c20c 값을 입력 후 확인해보았더니 인증키가 나왔다.
- Unp@cking j@vaScript 라는 인증키가 나왔다.
- 인증키를 인증 페이지로 가서 입력하면 문제가 풀렸다는 알림창이 뜬다.
- Unp@cking j@vaScript
🦜 오랜만에 BurpSuite를 사용하는거라 사용법을 좀 까먹어서 패킷 수정을 어디서 하는지 까먹었다가 콘솔로 함수 호출하는 방법이 뒤늦게 생각나서 시도해보았다.
728x90
반응형