webhacking.kr 12번 문제(old)

2019. 10. 4. 10:40Wargame/webhacking.kr

문제 페이지에 접속하면 위와같이 javascript challenge 라는 글자만 적혀있다.

자바스크립트와 관련된 문제일 것 같아 f12 를 눌러 소스코드를 확인해 봤다.

아무래도 이 코드를 해석하면 자바스크립트 코드인 것 같아 해당 내용을 개발자 도구의 console에서 실행 시켜보았다.

그래서 이 코드를 복사해서 console 창에 붙여넣고 

이 쓸모없는 문자를 빼고 ;를 넣어주면 소스코드가 바로 해석이 된다.

콘솔 창에 위와같이 소스가 잘려서 뜨는데 이 소스코드를 더블클릭하면 전체 소스를 볼 수 있다.

이 코드를 해석해보면

URL 의 "="문자부터 문자열을 잘라서 ck 변수에 저장한다.

아래의 반복문에선 아스키 코드의 1~122 까지의 문자를 enco 변수에 저장한다.

enco_(x) 함수에서는 enco  함수에서 x 위치의 문자열을 반환한다.

그래서 아래의 조건문에서 ck 변수와 enco 변수에서 특정 문자들을 추출해 합친것이 같으면 password를 출력해준다.

따라서 조건문의 뒷 부분의 문자열을 확인하고 이 문자열을 url에서 인자값으로 넘겨주면 되는 문제이다.

그래서 조건문의 뒷 부분이 무엇인지 확인하기 위해서 console 도구를 다시 사용해주었다.

함수 선언을 코드에서 지워주고 함수 안의 내용만 복사해서 콘솔에 입력한 후 아래와 같이 

문자열을 입력한 결과 youaregod~~~~~~!이 출력된다.

이제 아까 위에서 설명했듯이 = 뒤의 문자부터 잘라서 ck 의 변수와 비교하기 때문에

URL 창에 ?=youaregod~~~~~~~! 를 입력하면 문제가 풀린다.

'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr(old) 15번 문제  (0) 2019.10.09
webhacking.kr 14번 문제(old)  (0) 2019.10.04
webhakcing.kr 11번(old)[정규표현식]  (0) 2019.10.02
webhacking.kr 10번(old)  (0) 2019.10.02
webhacking.kr 6번 문제(old)  (0) 2019.10.02