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] - 난독화를 하는 이유
'보안 > 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 |