도카이트

[Wargame] Webhacking.kr - old 34 본문

Wargame/Webhacking.kr

[Wargame] Webhacking.kr - old 34

dodoh4t 2022. 6. 20. 23:29
728x90
반응형

문제 화면

[old 34 - 문제 화면]

- 문제 페이지에 최초 접속 시 debug me 창을 출력한다.

- 확인 버튼을 클릭할 경우 페이지에는 아무 것도 표시되지 않는다.

- 소스코드를 확인해봐야할 듯 하다.

 

 

페이지 소스코드

[페이지 소스코드]

- 개발자 도구를 이용하여 페이지 소스코드를 확인해본 결과 다음과 같다.

- 일반적으로 알아보기 힘들게 JavaScript 가 난독화가 되어 있는 모습을 확인할 수 있다.

- 해당 코드 상태로는 코드에 대한 해석이 어려우므로 이전 문제 풀이때 종종 사용하였던

- JavaScript 난독화 해제 사이트를 이용하여 코드의 가독성을 개선해보도록 하자 !

- https://beautifier.io/ 사이트를 이용하여 해당 코드를 변환하였다.

 

 

JavaScript 난독화 해제

[JavaScript 난독화 해제]

- 코드를 복사하여 해당 사이트에 붙여넣기 후 Ctrl + Enter 를 입력하면 코드를 변환할 수 있다.

- 변환된 전체 코드도 내용적으로 이해가 잘 되는 코드는 아니었다..

- 문제 풀이에 있어 눈길이 가는 부분을 코드를 내리며 쭉 확인하다가 setInterval 함수 부분이 눈에 들어왔다.

- if 문을 통해 조건이 일치하면 location 함수가 실행되며, 조건이 거짓이 되는 경우 alert 가 출력된다.

- 먼저 alert의 경우 어떤 내용인지 확인해보기 위해 해당 부분만 Console에서 따로 실행해보도록 한다.

 

 

else문 alert 실행

[else문 alert 실행]

- else 문의 alert 를 단독으로 실행한 결과 페이지에 처음 접근했을 때 출력된 debug me 창이 출력되었다.

- if 문의 조건이 만족되었을 때 실행되는 location 부분이 더 유력해지는 포인트인 듯 하다.

- if 문의 조건문이 참이 되었을 경우 실행되는 location 함수 부분을 따로 실행시켜보도록 한다.

 

 

if 문 location 부분 실행

[if 문 location 부분 실행]

- location 함수 부분을 단독으로 Console 에서 실행할 경우,

- 문제가 성공적으로 solve 됨을 확인할 수 있다 !

728x90

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

[Wargame] Webhacking.kr - old 51  (0) 2022.06.20
[Wargame] Webhacking.kr - old 50  (0) 2022.06.20
[Wargame] Webhacking.kr - old 33  (0) 2022.06.20
[Wargame] Webhacking.kr - old 32  (0) 2022.06.20
[Wargame] Webhacking.kr - old 27  (0) 2022.06.17
Comments