단진
대체로 맑음
단진
  • 분류 전체보기 (162)
    • 개발 (112)
      • 회고 (25)
      • 개발과정 (28)
      • 개념 (14)
      • JavaScript (11)
      • TypeScript (12)
      • 알고리즘 (4)
      • GitHub (4)
      • 오류 (9)
      • TMI (5)
    • 일상 (15)
      • 사진 및 여행 (6)
      • 책 소개 (4)
      • 기타 TMI (5)
    • IT (16)
      • 개념 (5)
      • 데이터베이스 (6)
      • 딥러닝 (1)
      • TMI (4)
    • TMI (4)
      • 법률 TMI (4)
    • 보안 (15)
      • Dreamhack (5)
      • Root Me (10)
hELLO · Designed By 정상우.
단진

대체로 맑음

Root Me: Javascript - Obfuscation 2
보안/Root Me

Root Me: Javascript - Obfuscation 2

2022. 3. 8. 20:06

Going down 3 floors.....

 

(이번 문제의 힌트다. 3계단을 내려가라고 한다)

 

문제를 보면 아무것도 나오지 않는다.

 

당연히 페이지 원본 보기를 할 것이다.

 

pass값이 있다.

pass=unescape("unescape%28%22String.fromCharCode%2528104%252C68%252C117%252C102%252C106%252C100%252C107%252C105%252C49%252C53%252C54%2529%22%29")

 

pass = unescape("어쩌구")이기 때문에 우리도 "어쩌구"를 unescape해본다.

"어쩌구"를 unescape해보면 또 unescape("어쩌구2")의 형식이다.
>>> 어쩌구 = unescape("어쩌구2")

 

마찬가지로 "어쩌구2"도 unescape해보면 String.fromCharCode(숫자1, 숫자2, 숫자3, ...)가 나온다.

>>> 어쩌구3 = String.fromCharCode(숫자1, 숫자2, 숫자3, ...)

 

마지막으로 String.fromCharCode를 그대로 실행하면 flag값을 얻을 수 있다.

 

 

String.fromCharCode()

이 함수는 아스키코드 번호를 받아 문자열을 구성해주는 함수이다.

 

(문제의 힌트에 나온 Going down 3 floor는 결국 주어진 것을 세번 실행하라는 뜻이었다)

 

2022.03.08 - [IT/TMI] - 난독화를 하는 이유

 

난독화를 하는 이유

Obfuscation: 난독화 코드에 난독화는 왜 하는 것일까 난독화 : 프로그래밍 언어를 컴퓨터는 이해하지만 사람은 이해하기 어렵도록 만드는 것 난독화를 하게 되면 코드의 가독성이 매우 낮아지게

29223.tistory.com

 

'보안 > Root Me' 카테고리의 다른 글

Root Me: Javascript - Native code  (0) 2022.03.09
Root Me: Javascript - Obfuscation 3  (0) 2022.03.08
Root Me: Javascript - Obfuscation 1  (0) 2022.03.08
Root Me: Javascript - Authentication 2  (0) 2022.03.08
Root Me: Javascript - Source  (0) 2022.03.08
    '보안/Root Me' 카테고리의 다른 글
    • Root Me: Javascript - Native code
    • Root Me: Javascript - Obfuscation 3
    • Root Me: Javascript - Obfuscation 1
    • Root Me: Javascript - Authentication 2
    단진
    단진

    티스토리툴바