1. 문제
1) 문제 확인
비밀번호를 입력하라고 한다.
2. 접근방법
페이지 소스코드를 살펴보자
Obfuscation 은 사전적의미로 난독화를 뜻한다. script 태그 안의 자바스크립트 코드를 보면 pass 변수에 이상한 값을 넣는다. 그다음 사용자의 입력으로 비밀번호를 입력받는다. 그다음, 입력 한 값이 pass 변수를 인자로한 unescape() 함수의 반환값과 동일한지 체크한다.
그럼 unescape() 함수의 반환값이 뭔지를 확인해보면 될것이다.
3. 풀이
저거를 입력하면 끝이다
4. 몰랐던 개념
•
escape() 함수
ASCII 코드를 지원하는 모든 컴퓨터들이 서로 통신 할 수 있도록 각종 문자를 인코딩 해주는 함수. unescape()로 디코딩을 한다.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
1234567890
@*-_+./
Plain Text
복사
요 문자들을 제외하고 나머지 아스키 문자들을 %16진수 로 인코딩 시켜준다. 반대로 디코딩을 하려면 unescape() 함수를 사용하면 된다
•
인코딩을 해주는 함수는 escape() 말고 도 다른것들도 있다
1.
encodeURI() / decodeURI()
최소한의 문자만 인코딩합니다.
; / ? : @ & = + $ , - _ . ! ~ * ' ( ) #
이런 문자는 인코딩하지 않습니다.
Plain Text
복사
2.
encodeURIComponent() / decodeURIComponent()
알파벳과 숫자 Alphanumeric Characters 외의, 대부분의 문자를 모두 인코딩합니다.
http:// ... 가 http%3A%2F%2F 로 됩니다.
Plain Text
복사
3.
escape() / unescape()
encodeURI() 와 encodeURIComponent() 의 중간 정도의 범위로 문자를 인코딩합니다.
Plain Text
복사