━━━━ ◇ ━━━━
해킹/SuNiNaTaS 모의해킹

05. 써니나타스 (Suninatas) 5번 문제풀이 Write-up

728x90
반응형

써니나타스 모의해킹 사이트

https://suninatas.com/challenges

 

써니나타스

웹해킹, 포렌식, 리버싱, 암호학, 해킹 워게임 제공.

www.suninatas.com

 


5

자바스크립트 난독화 언패킹

 

key value를 확인하라고 한다. 일단 힌트를 찾아보자. 

힌트에서는 숫자를 발견했고, 코드를 확인하던 중에 이상한 부분을 발견했다.

코드가 난독화되어 있는 듯 하다. 

 

 

https://matthewfl.com/unPacker.html

 

UnPacker

eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||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}('(0(){4 1="5 6 7 8";0 2(3){9(

matthewfl.com

바로 난독화된 코드를 복호할 수 있는 사이트에 방문해서 언팩해봤다. 

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함수를 보면 n값을 받아서 결과값을 리턴해주는 것으로 보인다. 

 

F12를 눌러서 콘솔창으로 들어간 뒤, 해당 코드를 붙여넣기 했다. 

아까 힌트에서 얻었던 숫자나열을 PASS함수에 대입해보았다. 

 

결과로 출력된 값을 입력하니 key가 생성되었다. 

 

성공

728x90
반응형
COMMENT