Search

[rootme] Javascript - Obfuscation 3

Tags
writeup
date
2022/01/07 12:50
Property
2022/01/07 12:50

1. 문제

1) 문제 확인
비밀번호를 입력하라고 한다.

2. 접근방법

소스코드를 봐보자.
문제이름이 Obfuscation 이므로 난독화 관련 문제인듯 싶다. pass_enc 값에는 사용자가 입력한 비밀번호가 들어가있다. pass_enc 값을 ',' 기준으로 짤라서 tab 배열에 저장한다. 그다음 pass 값역시 동일하게 tab2 배열에 저장한다.
근데 보기 불편해서 서브라인에 보기좋게 해봤당

3. 풀이

for문을 돌면서 p에 tab2 배열에 들어있는 값들을 하나씩 이어 붙인다. (String.fromCharCode() 이용)
즉, 아스키 문자형태로 이어붙인다. 근데 생각해보면 우리가 입력한 비밀번호는 tab배열에 들어가는데, 두개의 for문 전부다 tab2 배열가지고 조진다.
그럼 의미가 없는데? 훼이큰가?
그래서 그냥 아래에 보이는 32라인의 바이트들을 10진수로 변경한다음, fromCharCode함수로 돌려보았다.
나와버렸다.

4. 몰랐던 개념

훼이크문제였던거 같다.