power-girl0-0

[ Web ] 5번 본문

War game/suninatas

[ Web ] 5번

power-girl0-0 2021. 3. 18. 23:38
728x90

주소 : http://suninatas.com/

 

써니나타스

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

www.suninatas.com


[ 풀이 ]

5번문제는 key value 입력하도록 되어있다.

코드를 한 번 살펴보니, 아래와 같이 난독화되어 있는 것을 알 수 있다.

해당 코드를 아래 복호화 사이트에서 복호화해보자.

 

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함수를 이용하여 return받는 것을 알 수 있다.

그럼 주어진 코드 중 힌트에 있는 값을 해당 PASS함수에 입력해보자.

PASS함수를 출력하기 위해, 해당 문제의 소스코드 중 초기화해주는 스크립트 코드를 참고하여, document.frm.password.value에 넣어보았다.

그 결과, 해당 password값이 출력된다.

 

해당 값을 check하여 내보내면, flag값이 출력된다.

 

728x90

'War game > suninatas' 카테고리의 다른 글

[ Web ] 8번  (0) 2021.03.18
[ Web ] 6번  (0) 2021.03.18
[ Web ] 4번  (0) 2021.03.18
[ Web ] 3번  (0) 2021.03.18
[ Web ] 2번  (0) 2021.03.18
Comments