본문 바로가기
웹 해킹(WebHacking)/CTF(webhacking.kr)

Challenge(old) - Challenge 34번 문제풀이

by LIZ0904 2020. 10. 4.
반응형

webhacking.kr/challenge/js-7/

 

Challenge 34

 

webhacking.kr

 

 

 

문제

이번 문제에 들어가는 순간 "debug me" 라는 메세지가 뜬다. Ctrl+u를 통해 페이지 소스를 확인해봤다.

 

 

 

 

페이지 소스보기

페이지 소스 길이가 장난이 아니고, 정리도 안되어 있다.

 

 

 

 

https://beautifier.io/

 

Online JavaScript beautifier

 

beautifier.io

위 사이트는 코드를 정리해주는 사이트이다. 여기에 들어가서 자바스크립트 부분을 복사+붙여넣기해서 확인해보자!

 

 

 

 

정돈된 코드

Beautify Code를 하면  사진과 같이 코드가 예쁘게 정리된다.

 

 

 

 

 

alert

처음 "debug me" 메세지가 뜬 이유는 아마 코드에서 alert 함수를 사용했기 때문이라고 생각해, Ctrl+f 를 통해 'alert'를 검색해주었더니 if문이 하나 나왔다. 하지만 alert(b('0x1e','14cN'))이 무슨 의미인지 파악하기가 쉽지 않아 페이지에서 콘솔창을 이용했다.

 

 

 

 

 

콘솔

문제 페이지로 돌아가 F12를 눌러준 뒤, Console 창으로 넘어갔다. 그 상태에서 아까 alert 함수에 있던 변수 b를 넣어주니 "debug me"라는 문구로 해석되었다. 다른 변수들도 콘솔을 통해 알아보면 될 듯 하다.

 

 

 

 

다시 if문

다시 if문으로 돌아와서, 조건이 성립하면(if문) location을 변경해주고, 성립하지 않으면(else문) alert를 실행하게 되어있다. 즉, 조건이 성립하면 페이지 주소(location)을 b('0x1d', 'llaF')로 변경하라는 의미이다.

 

 

 

 

콘솔

그래서 location을 콘솔창에 넣어서 해석해보니, "./?Passw0RRdd=1" 이라는 결과가 나왔다. 여기서 " . "은 현재 위치를 의미한다.

 

 

 

 

location 변경

그래서 현재 문제 페이지 주소 뒤에 "?Passw0RRdd=1" 넣어준 뒤, 그 주소로 이동했다.

 

 

 

 

성공

그러면 문제가 풀렸다는 메세지가 뜬다! 성공~

반응형

댓글