워게임/Root Me

[Root Me] Javascript - Obfuscation 2 - 웹해킹 / 자바스크립트

SecurityMan 2022. 3. 13. 09:00

 

두번째 Obfuscation 문제

Obfuscation이란 난독화를 의미한다.

보통 공격자가 악성코드의 분석을 방해하기 위해 사용하거나

개발자가 코드의 동작을 숨기기 위해 사용한다.

이전문제처럼 비밀번호를 알아내면 된다.

가장먼저 f12를 눌러서 개발자도구를 이용해 웹 소스를 확인해본다.

 

 
pass 라는 변수에 무언가를 unescape한 값을 넣고있다.
 
escape 함수는 인코딩, unescape 함수는 디코딩을 시켜주는 함수이다.

 
자세히보면 unescape가 두번 들어가 있다.
 
따라서 두번 디코딩을 해주면 된다.
 
 
구글에 url 디코딩 이라고 검색하면
 
온라인으로 디코딩 할 수 있는 사이트들이 많이 나온다.

 
아무곳이나 들어가서 두번 디코딩을 해준다.
 
 
첫번째 디코딩을 하면 쪼금 알아 볼 수 있는 것들이 생긴다.
 
뒤쪽에 보면 %25 라는 문자가 많이 보이는데
 
%25는 '%' 기호를 url 인코딩한 값이다. 
 
한번 더 디코딩 해주면 위와같인 값이 나온다.
 
String.fromCharCode 라는 함수와
 
그안에 104, 68, 117, 102, 106 같은 숫자들이 보이는데

 
안에있는 숫자들은 아스키코드이고,
 
fromCharCode 함수는 아스키코드를 문자로 바꿔주는 역할을 한다.

위 표를 보고 수작업으로 해당하는 문자를 찾아도 되지만

 
구글에 아스키코드 디코딩이라고 검색하면
 
많은 웹사이트들이 나오고, 아무곳에나 들어가서

위에 나온 숫자들을 입력하면 숨겨진 문자가 나오게 된다.
 
 
 
 
이렇게 숨겨진 비밀번호를 획득할 수 있다.
 
반응형
반응형