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 |