Problem

How-To-Solve

패스워드에 아무거나 넣고 우선 넘긴다.

헿(부끄)

크흠......

우선 소스를 분석해본다.

소스를 읽어보면 알 수 있는 것은 위의 코드에서 입력값이 어떻게 들어가든지 pass값이 뜰 것이라는 거다.

pass_enc로 사용자 입력값을 받아 tab에 저장한다.

pass값에 있는 10진수 값을 ,으로 split해서 tab2에 저장하는데 여기에서 어떤 입력을 넣더라도 tab2값이 decode되어 출력되는 것을 알 수 있다.

 

실질적으로 사용되는 값은 뒤에들어가 있는 값이라는 것을 알 수 있다.

뒤의 값이 UNICODE로 인코딩 되어 있는 것을 알 수 있는데 이것을 10진수로 변환해서 디코딩하면 될 것이다.

이렇게 하면 10진수로 변환되는 것을 볼 수 있다.

왜 toString에 10을 넣지 않는지 물어볼 수 있는데 기본 값은 10진수로 되어 있기 때문에 아무 값도 넣지 않으면 10진수로 나오게 되어있기 때문이다.

그러면 10진수 값을 decode해보겠다.

이렇게 하면 flag를 얻을 수 있다.

 

끝!

'Wargame > root me' 카테고리의 다른 글

[Web-Client] CSP Bypass - Inline code  (0) 2023.04.04
[Web - Clinet] XSS - Stored 1  (0) 2023.04.03
[Web-Client] Javascript - Webpack  (0) 2023.03.31
[Web-Client] Javascript - Native code  (0) 2023.03.30
[Web-Client] Javascript - Obfuscation 2  (0) 2023.03.29

+ Recent posts